使用JavaMail实现发送邮件功能

package com.dunn.model;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Mail {
//实现send@163.com邮箱写邮件发送至receive@163.com邮箱,发信和收信邮箱均开通SMTP/POP协议,发件人邮箱登陆密码为163邮箱授权码
//值得注意的是这里的密码不是真实密码,而是授权码,当输入真实密码时会出现"550 User has no permission"的Exception
       public static void send(String str)throws Exception{
           Properties props = new Properties();  
           // 开启debug调试  
           props.setProperty("mail.debug", "true");  
           // 发送服务器需要身份验证  
           props.setProperty("mail.smtp.auth", "true");  
           // 设置邮件服务器主机名  
           props.setProperty("mail.host", "smtp.163.com");  
           // 发送邮件协议名称  
           props.setProperty("mail.transport.protocol", "smtp");           
           // 设置环境信息  
           Session session = Session.getInstance(props);           
           // 创建邮件对象  
           Message msg = new MimeMessage(session);  
           msg.setSubject("图书订单");  
           // 设置邮件内容  
           msg.setText(str);  
           // 设置发件人  
           msg.setFrom(new InternetAddress("send@163.com"));           
           Transport transport = session.getTransport();  
           // 连接邮件服务器  
           transport.connect("send", "开通了SMTP协议的授权码");  
           // 发送邮件  
           transport.sendMessage(msg, new Address[] {new InternetAddress("receive@163.com")});  
           // 关闭连接  
           transport.close();  
       }
}

 

posted @ 2016-11-23 00:19  akiradunn  阅读(473)  评论(0编辑  收藏  举报