java邮件发送
程序员文章站
2022-05-18 21:26:11
...
在使用第三方客户端登录电子邮箱的时候,会涉及到一个邮箱授权码,并且是需要用户在邮箱官网去手动设置的,这是为了避免直接泄露电子邮箱的密码。
发送邮件采用的协议是SMTP,收取邮件采用的协议是POP3、IMAP。
对于QQ邮箱:
对于163邮箱:
在java中要进行邮件发送时,需要引入mail.jar,具体的代码如下:
public static void main(String[] args) throws Exception
{
// 1 邮件服务器的设置
Properties props = new Properties();
props.setProperty("mail.host", "smtp.qq.com");
// props.setProperty("mail.host", "smtp.163.com");
props.setProperty("mail.smtp.auth", "true");
// 2 账号和密码
Authenticator authenticator = new Authenticator()
{
@Override
protected PasswordAuthentication getPasswordAuthentication()
{
// 使用邮箱授权码,进行登录
return new PasswordAuthentication("aaa@qq.com", "qq-authorization-code");
// return new PasswordAuthentication("aaa@qq.com", "163-authorization-code");
}
};
// 3 与邮件服务器建立连接:Session
Session session = Session.getDefaultInstance(props, authenticator);
// 4 编写邮件:Message
Message message = new MimeMessage(session);
// 4.1 发件人
message.setFrom(new InternetAddress("aaa@qq.com"));
// 4.2 收件人(to:收件人,cc:抄送,bcc:暗送(密送))
message.setRecipient(RecipientType.TO, new InternetAddress("aaa@qq.com"));
// 4.3 主题
message.setSubject("主题:测试邮件");
// 4.4 内容
message.setContent("Hello World!", "text/html;charset=UTF-8");
// 5 将消息进行发送:Transport
Transport.send(message);
}
上一篇: python 制作火车时刻表
下一篇: 11道浏览器原理面试题