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

Posted noire

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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();
    

 

以上是关于使用SMTP协议发送发送简单的文本邮件的主要内容,如果未能解决你的问题,请参考以下文章

中科大 计算机网络14 EMail SMTP简单邮件传输协议 POP3邮件传输协议 IMAP消息访问协议 HTTP超文本传输协议

130_邮件发送

Python3实现126邮箱163邮箱SMTP发送邮件

SMTP发送邮件

邮件模块

python之发送邮件----文本格式