java邮件发送(一)

133次浏览
import java.io.UnsupportedEncodingException;
import java.util.Calendar;
import java.util.Properties;

import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;

/**
 * 纯文本发送邮件
 * @author 李锋镝
 *
 * 2016-5-4 下午5:00:29
 *
 */
public class MailSend {  
    
    /**
     * 
     * @param smtpHost smtp服务器
     * @param from    发送者的邮箱用户名
     * @param fromUserPassword    发送者的邮箱密码
     * @param to    接收邮箱
     * @param subject    主题
     * @param messageText    正文
     * @param messageType    文本类型
     * @throws MessagingException    
     * @throws UnsupportedEncodingException 
     */
    @SuppressWarnings("static-access")  
    public static void sendMessage(String smtpHost, String from,  
            String fromUserPassword, String to, String subject,  
            String messageText, String messageType) throws MessagingException, UnsupportedEncodingException {  
        // 第一步:配置javax.mail.Session对象  
        System.out.println("为" + smtpHost + "配置mail session对象");  
          
          
        Properties props = new Properties();  
        props.put("mail.smtp.host", smtpHost);  
        props.put("mail.smtp.starttls.enable","true");//使用 STARTTLS安全连接   
        props.put("mail.smtp.auth", "true");        // 使用验证  
        //props.put("mail.debug", "true");  
        Session mailSession = Session.getInstance(props,new MyAuthenticator(from,fromUserPassword));  
  
        // 第二步:编写消息  
        System.out.println("编写消息from:" + from + "——to:" + to);  
  
        InternetAddress fromAddress = new InternetAddress(MimeUtility.encodeWord("李锋镝")+" <"+from+">");  
        InternetAddress toAddress = new InternetAddress(to);  
  
        MimeMessage message = new MimeMessage(mailSession);  
  
        message.setFrom(fromAddress);  
        message.addRecipient(RecipientType.TO, toAddress);  
  
        message.setSentDate(Calendar.getInstance().getTime());  
        message.setSubject(subject);  
        message.setContent(messageText, messageType);  
  
        // 第三步:发送消息  
        Transport transport = mailSession.getTransport("smtp");  
        transport.connect(smtpHost,from, fromUserPassword);  
        transport.send(message, message.getRecipients(RecipientType.TO));  
        System.out.println("message yes");  
    }  
  
    public static void main(String[] args) throws UnsupportedEncodingException {  
        try {  
            MailSend.sendMessage("smtp.qq.com", "XXX@qq.com",  
                    "password", "lifengdi@lifengdi.com", "邮件测试",  
                    "---------------邮件测试工具类,收到请回复-----------",  
                    "text/html;charset=UTF-8");  
        } catch (MessagingException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
    }  
}

具体的见下一篇

Tags: java mail

如果您觉得本文对您的学习或工作有所帮助,您可以打开支付宝,对我的博客进行赞助:
我的支付宝
如果您觉得仍有疑问 OR 发现我的博客中有不正确或侵权的内容,您可以打开手机QQ扫描下面的二维码,联系我本人(备注请注明来自博客):
我的QQ