第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > java邮件发送不成功 javamail发送邮件成功 但是却接收不到邮件?解决方法

java邮件发送不成功 javamail发送邮件成功 但是却接收不到邮件?解决方法

时间:2021-11-28 12:49:13

相关推荐

java邮件发送不成功 javamail发送邮件成功 但是却接收不到邮件?解决方法

javamail发送邮件成功 但是却接收不到邮件?

我用java写了一个发送邮件的程序,提示发送成功,但是发送到的邮箱却收到不邮件?这是为什么

packagecn.itcast;

importjava.util.Properties;

importjavax.mail.Address;

importjavax.mail.Message;

importjavax.mail.Session;

importjavax.mail.Transport;

importjavax.mail.internet.InternetAddress;

importjavax.mail.internet.MimeMessage;

publicclassDemo1{

/**

*@paramargsaddbyzxx,Feb5,

*/

publicstaticvoidmain(String[]args)throwsException{

//TODOAuto-generatedmethodstub

Propertiesprops=newProperties();

props.setProperty("mail.smtp.auth","true");

props.setProperty("mail.transport.protocol","smtp");

Sessionsession=Session.getInstance(props);

session.setDebug(true);

Messagemsg=newMimeMessage(session);

msg.setText("nengshoudaoma");

msg.setFrom(newInternetAddress("haosiweishizhu@"));

Transporttransport=session.getTransport();

transport.connect("",25,"haosiweishizhu","haosiwei");

transport.sendMessage(msg,newAddress[]{newInternetAddress("wangzhiqing0327@")});

//transport.send(msg,newAddress[]{newInternetAddress("itcast_test@")});

transport.close();

}

}

运行提示:

DEBUG:setDebug:JavaMailversion1.4ea

DEBUG:getProvider()returningjavax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,SunMicrosystems,Inc]

DEBUGSMTP:useEhlotrue,useAuthtrue

DEBUGSMTP:tryingtoconnecttohost"",port25,isSSLfalse

220irxd5-182.ESMTP

DEBUGSMTP:connectedtohost"",port:25

EHLO59972864974a4a5

250-irxd5-182.

250-8BITMIME

250-SIZE83886080

250-AUTHPLAINLOGIN

250AUTH=PLAINLOGIN

DEBUGSMTP:Foundextension"8BITMIME",arg""

DEBUGSMTP:Foundextension"SIZE",arg"83886080"

DEBUGSMTP:Foundextension"AUTH",arg"PLAINLOGIN"

DEBUGSMTP:Foundextension"AUTH=PLAIN",arg"LOGIN"

DEBUGSMTP:Attempttoauthenticate

AUTHLOGIN

334VXNlcm5hbWU6

aGFvc2l3ZWlzaGl6aHU=

334UGFzc3dvcmQ6

aGFvc2l3ZWk=

235#2.0.0OKAuthenticated

DEBUGSMTP:use8bitfalse

MAILFROM:

250senderok

RCPTTO:

250recipientok

DEBUGSMTP:VerifiedAddresses

DEBUGSMTP:wangzhiqing0327@

DATA

354goahead

From:haosiweishizhu@

Message-ID:<24212202.01317206893437.JavaMail.Administrator@59972864974a4a5>

MIME-Version:1.0

Content-Type:text/plain;charset=us-ascii

Content-Transfer-Encoding:7bit

nengshoudaoma

.

250ok:Message957325150accepted

QUIT

221irxd5-182.

------解决方案--------------------

/**

*发邮件方法

*

*@return-2:发送失败,登陆邮件服务器用户名或密码错误;-1:发送失败,邮件格式内容不合法;0:发送成功;

*/

publicstaticintsendEmail(SendEmailVosendEmailVo){

Stringfrom=sendEmailVo.getFrom();

Stringtoes=sendEmailVo.getTo();

Stringpassword=sendEmailVo.getPassword();

Stringsubject=sendEmailVo.getSubject();

Stringcontent=sendEmailVo.getContent();

Stringhost=null;

Stringname=null;

Sessionsession=null;

MimeMessagemessage=null;

Transporttransport=null;

try{

//根据发件Email算出发件的邮件服务器

host="smtp."

+from.substring(from.indexOf("@")+1,from.length());

//根据发件Email算出登陆邮件服务器的用户名

name=from.substring(0,from.indexOf("@"));

//分割出多个收件人

String[]to=toes.split(";");

//初始化一个存放属性的工具类

Propertiesprops=newProperties();

//设置发送Email的服务器

props.put("mail.smtp.host",host);

//对发送Email进行身份认证

props.put("mail.smpt.auth","true");

//得到与服务器的一个会话

session=Session.getInstance(props,null);

//定义一个邮件消息

message=newMimeMessage(session);

//可以设置一系列邮件属性的类

BodyPartbp=newMimeBodyPart();

Multipartmp=null;

//设置能够解析html标签的邮件

bp.setContent(content,"text/html;charset=utf-8");

//可以存放多个BodyPart的类

mp=newMimeMultipart();

//添加BodyPart到Multipart类

mp.addBodyPart(bp);

//设置收件人

message.setFrom(newInternetAddress(from));

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。