使用SMTP协议发送发送简单的文本邮件

package com.smartteam.common.email;

import java.util.Date;
import java.util.Properties;

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

/**
 * 使用SMTP协议发送电子邮件
 */
public class SendMailTest {

    // 邮件发送协议
    private final static String PROTOCOL = "smtp";

    // SMTP邮件服务器
    private final static String HOST = "xxx.xxx.xx";

    // SMTP邮件服务器默认端口(有ip时写ip)
    private final static String PORT = "xx.xxx.xxx.xx";

    // 是否要求身份认证
    private final static String IS_AUTH = "true";

    // 是否启用调试模式(启用调试模式可打印客户端与服务器交互过程时一问一答的响应消息)
    private final static String IS_ENABLED_DEBUG_MOD = "true";

    // 发件人
    private static String from = "xxx.xx";

    // 收件人
    private static String to = "xxx.xxx";

    // 初始化连接邮件服务器的会话信息
    private static Properties props = null;

    static {
        props = new Properties();
        props.setProperty("mail.transport.protocol", PROTOCOL);
        props.setProperty("mail.smtp.host", HOST);
        props.setProperty("mail.smtp.port", PORT);
        props.setProperty("mail.smtp.auth", IS_AUTH);
        props.setProperty("mail.debug", IS_ENABLED_DEBUG_MOD);
    }

    public static void main(String[] args) throws Exception {
        // 发送简单的文本邮件
        sendTextEmail();
    }

    /**
     * 发送简单的文本邮件
     */
    public static void sendTextEmail() throws Exception {
        // 创建Session实例对象
        Session session = Session.getDefaultInstance(props);

        // 创建MimeMessage实例对象
        MimeMessage message = new MimeMessage(session);
        // 设置发件人
        message.setFrom(new InternetAddress(from));
        // 设置邮件主题
        message.setSubject("使用javamail发送简单文本邮件");
        // 设置收件人
        message.setRecipient(RecipientType.TO, new InternetAddress(to));
        // 设置发送时间
        message.setSentDate(new Date());
        // 设置纯文本内容为邮件正文
        message.setText("使用smtp协议发送文本邮件测试!!!");
        // 保存并生成最终的邮件内容
        message.saveChanges();

        // 获得Transport实例对象
        Transport transport = session.getTransport();
        // 打开连接(发送邮件方的用户名和密码)
        transport.connect("xxx.xx", "xxx");
        // 将message对象传递给transport对象,将邮件发送出去
        transport.sendMessage(message, message.getAllRecipients());
        // 关闭连接
        transport.close();
    }

}

猜你喜欢

转载自www.cnblogs.com/noire/p/11401844.html