Java发送邮件的基本配置与步骤

Posted alltoforever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java发送邮件的基本配置与步骤相关的知识,希望对你有一定的参考价值。

Java发送邮件的基本配置与步骤

这里简单介绍一种利用Java来发送邮件的方法。

Maven的POM.xml文件加载jar包


<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.5.6</version>
</dependency>
<dependency>
    <groupId>com.sun.activation</groupId>
    <artifactId>javax.activation</artifactId>
    <version>1.2.0</version>
</dependency>

编写邮件发送的工具类

这里需要编写一个邮件发送的工具类,以后在其他的代码中只需要调用这个工具类,传入几个参数就可以直接发送邮件了。

工具类代码

import java.util.Properties;

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


public class EmailUtils {

    public static void SendEmailInfoUser(String sendAddress, String title, String content,String copysendAddress) throws Exception {
        Properties properties = new Properties();
        //设置服务器名称
        properties.setProperty("mail.host", "smtp.163.com");
        //设置邮件传输协议
        properties.setProperty("mail.transport.protocol", "smtp");
        //设置是否要验证服务器用户名和密码
        properties.setProperty("mail.smtp.auth", "true");
        // 1.创建客户端与邮箱服务器的Session对象
        Session session = Session.getInstance(properties);
        // 2.开启session的debug模式,方便查看发送email的运行状态
        session.setDebug(true);
        // 3.通过session得到transport传输对象
        Transport transport = session.getTransport();
        // 4.使用用户名密码连接上邮箱服务器,此处的密码需要到邮箱开启服务设置
        transport.connect("smtp.163.com", "[email protected]", "password");
        // 5.创建邮件
        Message message = createSimpleMail(session, sendAddress, title, content,copysendAddress);
        // 6.发送邮件
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }

    private static Message createSimpleMail(Session session, String sendAddress, String title, String content,String copysendAddress) throws Exception{
        // 创建邮件对象
        MimeMessage message = new MimeMessage(session);
        // 指明邮件的发件人
        message.setFrom(new InternetAddress("[email protected]"));
        // 指明邮件的收件人
        message.setRecipient(Message.RecipientType.TO, new InternetAddress(sendAddress));
        // 邮件的标题
        message.setSubject(title);
        // 邮件的内容
        message.setContent(content, "text/html;charset=UTF-8")
        // 设置抄送人
           message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(copysendAddress)); 
        return message;
    }
}

以上是关于Java发送邮件的基本配置与步骤的主要内容,如果未能解决你的问题,请参考以下文章

使用java发送电子邮件

我应该如何使用 Outlook 发送代码片段?

springboot发送邮件

ThinkPHP中使用PHPMailer发送邮件

用python实现自动发邮件的功能

Java实现发送邮件功能