JAVA用email.jar发送邮件

java

1 jar包

 email.jar包,网上下载

2 源代码

package zjr.amy.emil.test;

import java.util.Date;

import java.util.Properties;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.MimeMessage;

/**

* 发邮件测试

* @author zhujinrong

*

*/

public class MailTest {

static Authenticator auth = new Authenticator(){

@Override

protected PasswordAuthentication getPasswordAuthentication() {

// TODO Auto-generated method stub

return new PasswordAuthentication("1251759009@qq.com", "密码");

}

};

/**

* 主函数

* @param args

*/

public static void main(String[] args) throws MessagingException {

// TODO Auto-generated method stub

Properties props = new Properties();

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

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

props.put("mail.from", "1251759009@qq.com");

Session session = Session.getInstance(props, auth);

MimeMessage msg = new MimeMessage(session);

msg.setFrom();

msg.setRecipients(Message.RecipientType.TO, "2804163771@qq.com");

msg.setSubject("JavaMail hello world example");

msg.setSentDate(new Date());

msg.setText("<html><body><span style='color:red;'>Hello world!</span></body></html>", "utf-8", "html");

Transport.send(msg);

}

}

3 运行结果

4 遇到的错误

Exception in thread "main" javax.mail.AuthenticationFailedException: 454 Authentication failed, please open smtp flag first!

at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826)

at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761)

at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685)

at javax.mail.Service.connect(Service.java:317)

at javax.mail.Service.connect(Service.java:176)

at javax.mail.Service.connect(Service.java:125)

at javax.mail.Transport.send0(Transport.java:194)

at javax.mail.Transport.send(Transport.java:124)

at zjr.amy.emil.test.MailTest.main(MailTest.java:46)

原因:没有qq邮箱没有开启smtp服务

解决方法:在QQ邮箱的设置里面,找到账户-》POP3/IMAP/SMTP选择开启POP3/SMTP服务

5 git地址

 git地址:https://github.com/HelloAmy/JavaStudy.git

以上是 JAVA用email.jar发送邮件 的全部内容, 来源链接: utcz.com/z/391410.html

回到顶部