Netbeans中的Java Mailer编码调试问题 [英] Java Mailer coding debugging problem in netbeans
本文介绍了Netbeans中的Java Mailer编码调试问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
hii我已经在Java上的netbeans 6.9上完成了编码,以便在下载javamailer nd varios jar文件bt之后下载邮件.在项目运行时邮件没有发送.我认为这是一个虚拟服务器问题.我有窗口7 64位如何创建虚拟服务器.如果还有其他问题.请告诉我..代码如下
index.jsp
hii I have done coding on netbeans 6.9 in java for sending e-mail after downloading javamailer nd varios jar files bt the when the project is run the mail is not sending.I think it me a virtual server problem.I have window 7 64 bit how can I create virtual server.If there is another problem.Plz tell me..the code is as follows
index.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Java Mail </title>
</head>
<body>
<form action="sendMail.jsp" method="POST">
<table border="0" align="center" cellpadding="5">
<tbody>
<thead><tr> <td colspan="3" align="center">
Send Mail </td> </tr> </thead>
<tr>
<td> To </td> <td> : </td>
<td> <input type="text" name="to" value="" /> </td>
</tr>
<tr>
<td> Subject </td> <td> : </td>
<td> <input type="text" name="subject" value="" /> </td>
</tr>
<tr>
<td> Message </td> <td> : </td>
<td> <textarea name="message" rows="8" cols="30">
</textarea></td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="submit" value="Send Mail" />
<input type="reset" value="Reset" />
<td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
Mail.java
Mail.java
package jMail;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class Mail
{
private String to;
private String from;
private String message;
private String subject;
private String smtpServ;
/**
* @return the to
*/
public String getTo() {
return to;
}
/**
* @param to the to to set
*/
public void setTo(String to) {
this.to = to;
}
/**
* @return the from
*/
public String getFrom() {
return from;
}
/**
* @param from the from to set
*/
public void setFrom(String from) {
this.from = from;
}
/**
* @return the message
*/
public String getMessage() {
return message;
}
/**
* @param message the message to set
*/
public void setMessage(String message) {
this.message = message;
}
/**
* @return the subject
*/
public String getSubject() {
return subject;
}
/**
* @param subject the subject to set
*/
public void setSubject(String subject) {
this.subject = subject;
}
/**
* @return the smtpServ
*/
public String getSmtpServ() {
return smtpServ;
}
/**
* @param smtpServ the smtpServ to set
*/
public void setSmtpServ(String smtpServ) {
this.smtpServ = smtpServ;
}
public int sendMail(){
try
{
Properties props = System.getProperties();
// -- Attaching to default Session, or we could start a new one --
props.put("mail.transport.protocol", "smtp" );
props.put("mail.smtp.starttls.enable","true" );
props.put("mail.smtp.host",smtpServ);
props.put("mail.smtp.auth", "true" );
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getInstance(props, auth);
// -- Create a new message --
Message msg = new MimeMessage(session);
// -- Set the FROM and TO fields --
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
msg.setSubject(subject);
msg.setText(message);
// -- Set some other header information --
msg.setHeader("MyMail", "Mr. XYZ" );
msg.setSentDate(new Date());
// -- Send the message --
Transport.send(msg);
System.out.println("Message sent to"+to+" OK." );
return 0;
}
catch (Exception ex)
{
ex.printStackTrace();
System.out.println("Exception "+ex);
return -1;
}
}
private class SMTPAuthenticator extends javax.mail.Authenticator {
@Override
public PasswordAuthentication getPasswordAuthentication() {
String username = "Java.Mail.CA@gmail.com"; // specify your email id here (sender's email id)
String password = "javamail"; // specify your password here
return new PasswordAuthentication(username, password);
}
}
}
Sendmail.jsp
Sendmail.jsp
<pre lang="xml"><%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean id="mail" scope="session" class="jMail.Mail" />
<jsp:setProperty name="mail" property="to" param="to" />
<jsp:setProperty name="mail" property="from" value="Java.Mail.CA@gmail.com" />
<jsp:setProperty name="mail" property="smtpServ" value="smtp.gmail.com" />
<jsp:setProperty name="mail" property="subject" param="subject" />
<jsp:setProperty name="mail" property="message" param="message" />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<%
String to = mail.getTo();
int result;
result = mail.sendMail();
if(result == 0){
out.println(" Mail Successfully Sent to "+to);
}
else{
out.println(" Mail NOT Sent to "+to);
}
%>
</body>
</html
>
>
推荐答案
看起来很好-您会得到什么例外?
请使用本地电子邮件服务器进行测试,因为Gmail仅会在15分钟左右的时间内接受请求,并且如果您输入的内容不正确,可能会表现得有些刺耳.
使用 HMailServer [ ^ ]用于本地测试.它是免费的,将提供有效的测试基础.
looks quite good - what is the exception you get?
Please use a local email server for testing, because Gmail will only accept a request in 15 minutes or so and can act a bit bitchy when you don''t come around correct.
Use HMailServer[^] for local testing. It''s free and will provide a valid test base.
这篇关于Netbeans中的Java Mailer编码调试问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文