JavaMail 发送文件老是报错,求大神解答

YW5588 2016-07-04 01:51:25
package SendSimpleMessage;

import java.util.Date;
import java.util.Properties;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;



public class simpleMessage {


public static void main(String[] args) throws Exception {
//0. 邮件参数
Properties prop = new Properties();
prop.put("mail.transport.protocol", "smtp"); // 指定协议
prop.put("mail.smtp.host", "smtp.163.com"); // 主机 stmp.qq.com
prop.put("mail.smtp.port", 25); // 端口
prop.put("mail.smtp.auth", "true"); // 用户密码认证
prop.put("mail.debug", "true"); // 调试模式

//1. 创建一个邮件的会话
Session session = Session.getInstance(prop);
//2. 创建邮件体对象 (整封邮件对象)
MimeMessage message = new MimeMessage(session);
//3. 设置邮件体参数:
//3.1 标题
message.setSubject("我的第一封邮件 ");
//3.2 邮件发送时间
message.setSentDate(new Date());
//3.3 发件人
message.setSender(new InternetAddress("m18652003098@163.com"));
//3.4 接收人
message.setRecipient(RecipientType.TO, new InternetAddress("zuihoudeyimeng@163.com"));
//3.5内容
//message.setText("你好,已经发送成功! 正文...."); // 简单纯文本邮件
// 邮件中含有超链接
//message.setText("<a href='#'>百度</a>");
message.setContent("<a href='#'>百度</a>", "text/html;charset=UTF-8");

message.saveChanges(); // 保存邮件(可选)

//4. 发送
Transport trans = session.getTransport();
trans.connect("smtp.163.com", "m18652003098@163.com", "********");
// 发送邮件
trans.sendMessage(message, message.getAllRecipients());
trans.close();
}

}
老是报554 com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smtp1


//以下是运行的报错
DEBUG: JavaMail version 1.4.1
DEBUG: not loading file: C:\Program Files\Java\jdk1.6.0_18\jre\lib\javamail.providers
DEBUG: java.io.FileNotFoundException: C:\Program Files\Java\jdk1.6.0_18\jre\lib\javamail.providers (系统找不到指定的文件。)
DEBUG: !anyLoaded
DEBUG: not loading resource: /META-INF/javamail.providers
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: !anyLoaded
DEBUG: not loading resource: /META-INF/javamail.address.map
DEBUG: not loading file: C:\Program Files\Java\jdk1.6.0_18\jre\lib\javamail.address.map
DEBUG: java.io.FileNotFoundException: C:\Program Files\Java\jdk1.6.0_18\jre\lib\javamail.address.map (系统找不到指定的文件。)
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.163.com", port 25, isSSL false
220 163.com Anti-spam GT for Coremail System (163com[20141201])
DEBUG SMTP: connected to host "smtp.163.com", port: 25

EHLO willard-PC
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFO41I1UCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
DEBUG SMTP: Found extension "AUTH=LOGIN", arg "PLAIN"
DEBUG SMTP: Found extension "coremail", arg "1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFO41I1UCa0xDrUUUUj"
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Attempt to authenticate
AUTH LOGIN
334 dXNlcm5hbWU6
bTE4NjUyMDAzMDk4QDE2My5jb20=
334 UGFzc3dvcmQ6
MTk5MTExMjdEVA==
235 Authentication successful
DEBUG SMTP: use8bit false
MAIL FROM:<m18652003098@163.com>
250 Mail OK
RCPT TO:<zuihoudeyimeng@163.com>
250 Mail OK
DEBUG SMTP: Verified Addresses
DEBUG SMTP: zuihoudeyimeng@163.com
DATA
354 End data with <CR><LF>.<CR><LF>
Date: Mon, 4 Jul 2016 13:46:04 +0800 (CST)
Sender: m18652003098@163.com
To: zuihoudeyimeng@163.com
Message-ID: <21173056.0.1467611164832.JavaMail.willard@willard-PC>
Subject: =?UTF-8?B?5oiR55qE56ys5LiA5bCB6YKu5Lu2CQ==?=
MIME-Version: 1.0
Content-Type: text/html;charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<a href=3D'#'>=E7=99=BE=E5=BA=A6</a>
.
554 DT:SPM 163 smtp1,C9GowAAH8Vgc+HlXQLpTAA--.2124S2 1467611164,please see http://mail.163.com/help/help_spam_16.htm?ip=221.11.140.1&hostid=smtp1&time=1467611164
DEBUG SMTP: got response code 554, with response: 554 DT:SPM 163 smtp1,C9GowAAH8Vgc+HlXQLpTAA--.2124S2 1467611164,please see http://mail.163.com/help/help_spam_16.htm?ip=221.11.140.1&hostid=smtp1&time=1467611164

RSET
250 OK
Exception in thread "main" com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smtp1,C9GowAAH8Vgc+HlXQLpTAA--.2124S2 1467611164,please see http://mail.163.com/help/help_spam_16.htm?ip=221.11.140.1&hostid=smtp1&time=1467611164
com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smtp1,C9GowAAH8Vgc+HlXQLpTAA--.2124S2 1467611164,please see http://mail.163.com/help/help_spam_16.htm?ip=221.11.140.1&hostid=smtp1&time=1467611164

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1515)
at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1321)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:637)
at SendSimpleMessage.simpleMessage.main(simpleMessage.java:51)

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1515)
at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1321)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:637)
at SendSimpleMessage.simpleMessage.main(simpleMessage.java:51)
...全文
399 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
家里敷泥呀 2016-07-04
  • 打赏
  • 举报
回复
554 DT:SPM 是163定义的返回码。 该码的具体含义是: •554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件; 参考: 企业退信的常见问题?-163邮箱常见问题 http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html
YW5588 2016-07-04
  • 打赏
  • 举报
回复
把setSender 换成 setFrom 就OK了
YW5588 2016-07-04
  • 打赏
  • 举报
回复
搞了好久了就是弄不出来啊

62,628

社区成员

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

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