java发送邮件简单的方式

吃猫的鱼
2023-03-17 / 0 评论 / 262 阅读 / 正在检测是否收录...

java发送邮件简单的方式

今天在业务中用到的使用java发送邮件的方法,适用于简单发送邮件,可以对其进行再次封装,实现对发信的进一步简化,在这里进行记录一下。教程原文参考自Java 发送邮件 | 菜鸟教程 (runoob.com)

首先通过maven引入依赖jar包

    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.7</version>
    </dependency>

然后是一段测试代码,可以自行将其二次封装便于调用

package ***;// 需要用户名密码邮件发送实例
//本实例以QQ邮箱为例,你需要在qq后台设置

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendEmail2
{
    public static void main(String [] args)
    {
        // 收件人电子邮箱
        String to = " ";

        // 发件人电子邮箱
        String from = "";

        // 指定发送邮件的主机为 smtp.qq.com
        String host = "smtp.qq.com";  //QQ 邮件服务器

        String pwd = "";  //QQ 邮件服务器

        // 获取系统属性
        Properties properties = System.getProperties();

        // 设置邮件服务器
        properties.setProperty("mail.smtp.host", host);

        properties.put("mail.smtp.auth", "true");
        // 获取默认session对象
        Session session = Session.getDefaultInstance(properties,new Authenticator(){
            public PasswordAuthentication getPasswordAuthentication()
            {
                return new PasswordAuthentication(from, pwd); //发件人邮件用户名、授权码
            }
        });

        try{
            // 创建默认的 MimeMessage 对象
            MimeMessage message = new MimeMessage(session);

            // Set From: 头部头字段
            message.setFrom(new InternetAddress(from));

            // Set To: 头部头字段
            message.addRecipient(Message.RecipientType.TO,
                    new InternetAddress(to));
            // Set Subject: 头部头字段
            message.setSubject("This is the Subject Line!");
            // 设置消息体
            message.setContent("<h1>This is actual message</h1>",
                    "text/html" );
            // 发送消息
            Transport.send(message);
            System.out.println("Sent message successfully....");
        }catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }
}

2

评论 (0)

取消
友情链接 文章阅读: 网站地图