我的邮件为什么发不了 ??

谁帮我看下这是什么问题啊 ???

环境:MyEclisp 8.5 + JDK 1.6

代码:

[code="java"]
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Properties props = new Properties();
//两个属性必须配置
props.setProperty("mail.transport.protocol", "smtp");
//设置需要验证(给提供用户名、密码)
props.setProperty("mail.smtp.auth", "true");

    //该方法每次都返回一个新的session  getDefaultInstance()方法可能返回的是之前创建的
    Session session = Session.getInstance(props);
    //打印与服务器交互的信息
    session.setDebug(true);

    Message msg = new MimeMessage(session);
    msg.setText("你好!");
    //msg.setSubject("中文主题");

    //发件人  (可以不是真实的)
    msg.setFrom(new InternetAddress("lili@sohu.com"));

    Transport transport = session.getTransport();

    //设置 连接服务器、 端口、  用户名、  密码
    transport.connect("smtp.sina.com", 25, "javamail_test100", "123456");

    //静态的send方法 ,直接就能用(发一封邮件可以用他  要不然每发一封就要连一次服务器 效率低) (内部做了链接、发、关链接)  自己连了就不用静态方法了
    //transport.send(msg,new Address[]{new InternetAddress("itcast_test@sohu.com")});

    //非静态send方法(发多封邮件时用  只连一次服务器)  包含收件人(也可以在message里面设置  但是群发的时候 就觉得不好)
    transport.sendMessage(msg, new Address[]{new InternetAddress("javamail_test100@sohu.com")});

    transport.close();
}

[/code]

提示错误:

DEBUG: setDebug: JavaMail version 1.4.3
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.sina.com", port 25, isSSL false
220 irxd5-187.sinamail.sina.com.cn ESMTP
DEBUG SMTP: connected to host "smtp.sina.com", port: 25

EHLO DreamsLink-PC
250-irxd5-187.sinamail.sina.com.cn
250-8BITMIME
250-SIZE 83886080
250-AUTH PLAIN LOGIN
250 AUTH=PLAIN LOGIN
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "SIZE", arg "83886080"
DEBUG SMTP: Found extension "AUTH", arg "PLAIN LOGIN"
DEBUG SMTP: Found extension "AUTH=PLAIN", arg "LOGIN"
DEBUG SMTP: Attempt to authenticate
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM
AUTH LOGIN
334 VXNlcm5hbWU6
amF2YW1haWxfdGVzdDEwMA==
334 UGFzc3dvcmQ6
MTIzNDU2
535 #5.7.0 Authentication failed
Exception in thread "main" javax.mail.AuthenticationFailedException: 535 #5.7.0 Authentication failed

at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:648)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:583)
at javax.mail.Service.connect(Service.java:291)
at com._100fly.javamail.FirstSendMail.main(FirstSendMail.java:43)

截图在附件了

2个回答

楼上说的很清楚了,看异常是AuthenticationFailedException认证失败,检查你登录smtp.sina.com的用户名和密码是否争取。

是认证错误。
你发件人是用的搜狐的hostName,然后你写connect的时候用的是新浪的服务端口。
就是说你在新浪上登录搜狐的邮箱去发邮件。可想而知了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!