问题标签用户 web项目中页面修改javamail发件人信息后发邮件失败

snowpiaojuan 2014-09-25 04:01:02
各位大神,请教个问题!
我们的web项目使用javamail发送邮件。页面可修改发送邮件的服务器、发件人信息,但是现在在页面修改发件人邮箱地址和密码之后,发送邮件失败。重起Tomcat服务器之后,同样的用户名密码又可以正常发送邮件。大神,有谁知道为什么呢?

发邮件的代码如下:
ublic boolean sendMail(String subject, String body){  
Properties props = new Properties();
props.put("mail.smtp.host", server);
props.put("mail.smtp.auth", needAuth);
props.put("mail.smtp.sender", sender);
props.put("mail.smtp.password", password);

// 判断是否需要身份认证
MailAuthenticator authenticator = null;
if (needAuth) {
authenticator = new MailAuthenticator(sender, password);
}

try {
Session session = Session.getDefaultInstance(props, authenticator);
MimeMessage message = new MimeMessage(session);

InternetAddress from = null;
if(null != sender && !"".equals(sender)){
from = new InternetAddress(sender);
}

message.setFrom(from);
String[] str = to.split(",");
InternetAddress[] address = new InternetAddress[str.length];
for (int i = 0; i < str.length; i++) {
address[i] = new InternetAddress(str[i]);
}
message.setRecipients(Message.RecipientType.TO,address);

message.setSubject(subject, "UTF-8");
message.setSentDate(new Date());
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(body, "text/html;charset=UTF-8");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(mbp);
message.setContent(multipart);
Transport.send(message);

return true;
} catch (Exception e) {
return false;
}


修改发件人之后,报如下异常:

com.sun.mail.smtp.SMTPSendFailedException: 550 Invalid User 684966a9-37c9-4b09-ba32-ea282cf46b58
;
nested exception is:
com.sun.mail.smtp.SMTPSenderFailedException: 550 Invalid User 684966a9-37c9-4b09-ba32-ea282cf46b58

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2057)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1580)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1097)
at javax.mail.Transport.send0(Transport.java:195)
at javax.mail.Transport.send(Transport.java:146)
...全文
129 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 ### HSMS/SEMI通讯E37说明书文关键知识点 #### 一、HSMS概述 - **HSMS**(High-Speed SECS Message Service)是一种专为半导体工厂内部计算机之间进行高速消息传输而构建的通信标准。该标准旨在逐步取代原有的SEMIE4(SECS-I)和SEMIE13(SECS Message Service),特别是在需要高速数据交换或简单的点对点拓扑结构无法满足实际需求的情况下。 - HSMS的核心宗旨在于提供一种机制,使来自不同制造商的设备能够达成无缝对接和互操作状态,即便这些设备在设计理念和通信机制上存在显著差异。 - HSMS不仅适用于TCP/IP优先于OSI模型的应用环境,同时也能作为SEMIE4和SEMIE13的有效替代方案。 #### 二、HSMS的应用范围 - HSMS主要部署于半导体制造业的计算机系统之间进行消息交换的场景,如自动化生产线、设备监控系统等。 - 该标准界定了通信接口,使得半导体工厂内的各类设备能够实现高效且可靠的数据传输。 #### 三、HSMS与其他标准的关系 - **SEMIE4 (SECS-I)**:规定了消息传输的基本规则和格式。 - **SEMIE5 (SECS-II)**:明确了消息的具体内容和结构。 - **IETF Documents**: - RFC791 - Internet协议 - RFC792 - Internet控制消息协议 - RFC793 - 传输控制协议 - RFC1120 - Internet主机通信层的要求 - RFC1340 - 指定号码 - **POSIX D...

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧