使用163的SMTP服务器发送邮件

import java.util.Properties;

import javax.mail.BodyPart;

import javax.mail.Message;

import javax.mail.Multipart;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMultipart;

 

public class test163com {

    // POP3服务器: pop.163.com

    // SMTP服务器: smtp.163.com

    // IMAP服务器: imap.163.com

    // smtp服务器 

    static String HOST = “smtp.163.com”;

    // 发件人地址

    static String FROM = [email protected];

    // 用户名

    static String USER = [email protected];

    // 163邮箱授权码

    static String PWD = “lc243786”;

    // 邮件标题

    static String SUBJECT = “XXX标题”;

    // 收件人

    static String[] TOS = new String[]{[email protected]};

    /**

      * 发送邮件

      * @param host

      * @param user

      * @param pwd

    */

    public static void sendMessage(String context) {

         Properties props = new Properties();

         //设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)

         props.put(“mail.smtp.host”, HOST);

         //需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)

         props.put(“mail.smtp.auth”, “true”); 

         //用props对象构建一个session

         Session session = Session.getDefaultInstance(props);

         session.setDebug(true);

         //用session为参数定义消息对象

         MimeMessage message = new MimeMessage(session);

         try {

             // 加载发件人地址

             message.setFrom(new InternetAddress(FROM));

             // 加载收件人地址

             InternetAddress[] sendTo = new InternetAddress[TOS.length];

             for (int i = 0; i < TOS.length; i++) { 

                 sendTo[i] = new InternetAddress(TOS[i]); 

             }

             message.addRecipients(Message.RecipientType.TO,sendTo);

             // 设置在发送给收信人之前给自己(发送方)抄送一份,不然会被当成垃圾邮件,报554错

             message.addRecipients(MimeMessage.RecipientType.CC, InternetAddress.parse(FROM));

             // 加载标题

             message.setSubject(SUBJECT);

             // multipart对象中添加邮件的各个部分内容,包括文本内容和附件

             Multipart multipart = new MimeMultipart();

             // 设置邮件的文本内容

             BodyPart contentPart = new MimeBodyPart();

             contentPart.setText(context);

             multipart.addBodyPart(contentPart);

             // multipart对象放到message中

             message.setContent(multipart);

             // 保存邮件

             message.saveChanges();

             // 发送邮件

             Transport transport = session.getTransport(“smtp”);

             // 连接服务器的邮箱

             transport.connect(HOST, USER, PWD);

             // 把邮件发送出去

             transport.sendMessage(message, message.getAllRecipients());

             // 关闭连接

             transport.close();

         } catch (Exception e) {

             e.printStackTrace();

         }

     }    

     // mian入口

     public static void main(String[] args) {

         sendMessage(您好,中国茂名高州!!!”);

     }

 }

效果图,如下:

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: