为什么发html的邮件收不到?

wafeng 2004-09-19 10:04:27
有两个,第一个是怎么也不好用,第二个(书上的例子)好用,但两个代码基本上是一样的,我怎么看也看不出错在哪里,如果你看出来了,请告诉我,请不要乱贴代码,我只想知道原因。
第一个:
<%@ page import="java.util.*,javax.activation.*, javax.mail.*, javax.mail.internet.*" %>
<%
try
{
Properties props =System.getProperties();
props.put("mail.smtp.host", "xxx");
props.put("mail.smtp.auth","true");
Session s = Session.getInstance(props,null);
MimeMessage message=new MimeMessage(s);
InternetAddress from=new InternetAddress("xxx@sohu.com");
message.setFrom(from);
String to=request.getParameter("to");
message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
String subject=request.getParameter("subject"),text=request.getParameter("text");
message.setSubject(subject);
message.setSentDate(new Date());
BodyPart mbp=new MimeBodyPart();
MimeMultipart mm=new MimeMultipart();
//String type=request.getParameter("type");
String type="text/html;charset=gb2312";
mbp.setContent(text,type);
mm.addBodyPart(mbp);
message.setContent(mm);
message.saveChanges();
Transport trans=s.getTransport("smtp");
trans.connect("xxx","用户名","密码");
trans.sendMessage(message,message.getAllRecipients());
trans.close();
}
catch(Exception e)
{
out.print(e.toString());
}
%>

<html>
<p align="center">Mail has been sent. Check your Inbox.</p>
<p align="center"><a href="inputMail.jsp">Click here to send
another!</a></p>
</html>


第二个:
<HTML><HEAD><TITLE>网络发件箱</TITLE>
<%@ page import=" javax.mail.*,java.util.*,javax.activation.*,javax.mail.internet.*"
contentType="text/html;charset=GB2312"%>
</head><body>
<%
String host = request.getParameter("host");
try{
Properties props = System.getProperties();
Session mailSession = Session.getInstance(props, null);
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
mailSession.setDebug(true);
Message message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress(request.getParameter("sender")));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(request.getParameter("receiver")));
message.setSubject("你好啊");
message.setContent(multipart);
message.saveChanges();
Transport transport = mailSession.getTransport("smtp");
transport.connect(host, request.getParameter("username"), request.getParameter("password"));
transport.sendMessage(message, message.getAllRecipients());
transport.close();
%>
<P>你的邮件已经成功发送!</P>
<%
}
catch(MessagingException m){
out.println(m.toString());
}
%>

</BODY></HTML>
...全文
125 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
askr 2004-09-25
没有人知道吗
回复
wafeng 2004-09-24
up
回复
wafeng 2004-09-23
up
回复
wafeng 2004-09-22
to dlglmf:
服务器那么写是因为不想写真实的,没错。
我的问题是为什么第二个总能收到,而且,不到1秒就可以收到,而第一个总是收不到。难道是什么步骤有个先后的问题,比如saveChanges,如果不用transport.connect();用什么连接?
回复
zhonghua2003 2004-09-22
为了文静,好好读书,天天向上!!
回复
dlglmf 2004-09-22
你的发信人,收信人,和服务器完全一样吗 ?
代码是没有什么两样了,都能完成发信,关键是可能信在路上丢了,或者服务器拒收,像我用自己的XP所带的smtp服务器设置为不验证帐号,速度奇快,多线程,但是不是一下子就可以收到,而且可能还有丢失,但是用163的服务器,必须要验证发信人的帐号,比较慢,但是收信很快,这边发完,基本上就收到了,再就是我试了,既然 props.put("mail.smtp.auth","true");就应该写个安全认证类,这样好象比较好,就不要用transport.connect()这个函数了,用transport.connect();我好象没有发成功,没有多试
回复
wafeng 2004-09-21
up
回复
wafeng 2004-09-21
但是第二个例子也没有写什么授权类,却是好用的。而且基本上和第一个是一样 的
回复
nwpulipeng 2004-09-21
up混分
回复
wafeng 2004-09-21
观察了发信的状态信息,连接,发信都是正常的,但就是收不到
回复
stonecsdn 2004-09-20
props.put("mail.smtp.auth","true");//既然为true,那么需要写一个授权的类
javax.mail.Authenticator auth=new MyAuthenticator(username,password);
Session s = Session.getInstance(props,auth);这样试试
import java.util.*;
import javax.mail.*;
public class MyAuthenticator extends Authenticator
{
private String username = null;
private String pass = null;

public void setUsername(String username)
{
this.username = username;
}

public void setUserpass(String userpass)
{
this.pass = userpass;
}

public MyAuthenticator (String username, String userpass)
{
super();

setUsername(username);
setUserpass(userpass);

}
public PasswordAuthentication getPasswordAuthentication()
{

return new PasswordAuthentication(username,pass);
}
}
回复
wafeng 2004-09-20
高手都哪里去了
回复
wafeng 2004-09-20
up
回复
wafeng 2004-09-20
up
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-19 10:04
社区公告
暂无公告