Java 发送邮件

import com.sun.mail.util.MailSSLSocketFactory;
import jakarta.activation.DataHandler;
import jakarta.activation.FileDataSource;
import jakarta.mail.*;
import jakarta.mail.internet.InternetAddress;
import jakarta.mail.internet.MimeBodyPart;
import jakarta.mail.internet.MimeMessage;
import jakarta.mail.internet.MimeMultipart;

import java.security.GeneralSecurityException;
import java.util.Properties;

public class Email {
    //qakhntqhjdfxdbgb
    public static void main(String[] args) throws GeneralSecurityException, MessagingException {
        Properties properties = new Properties();
        properties.setProperty("mail.host","smtp.qq.com");
        properties.setProperty("mail.transport.protocol","smtp");
        properties.setProperty("mail.smtp.auth","true");
        //需要加下面这几句
        MailSSLSocketFactory mailSSLSocketFactory = new MailSSLSocketFactory();
        mailSSLSocketFactory.setTrustAllHosts(true);
        properties.put("mail.smtp.sll.enable","true");
        properties.put("mail.smtp.ssl.socketFactory",mailSSLSocketFactory);

        Session session = Session.getDefaultInstance(properties, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("3289218331@qq.com","QQ 邮箱授权码");      
            }
        });
        session.setDebug(true);         
        Transport transport = session.getTransport(); 
        transport.connect("smtp.qq.com","3289218331@qq.com","QQ 邮箱授权码");
        MimeMessage mimeMessage = new MimeMessage(session);
        mimeMessage.setFrom(new InternetAddress("3289218331@qq.com"));
        //使用setRecipients可以给多人发送邮件
        mimeMessage.setRecipient(Message.RecipientType.TO,new InternetAddress("3289218331@qq.com"));
        mimeMessage.setSubject("测试");
//        mimeMessage.setContent("这是一个java发送邮件的测试","text/html;charset=utf-8");
        //准备图片
        MimeBodyPart image = new MimeBodyPart();
        DataHandler dataHandler = new DataHandler(new FileDataSource("F:\\ceshi\\素材\\demo2181078\\demo2190855\\img\\hhh_logo.png"));
        image.setDataHandler(dataHandler);
        image.setContentID("hhh_logo");         //给图片设置一个id,方便下面调用
        //准备正文
        MimeBodyPart text = new MimeBodyPart();
        text.setContent("<h1>这是一个测试</h1><br/><img src='cid:hhh_logo'/><br/>测试完成</h1>","text/html;charset=utf-8");
        //描述数据关系
        MimeMultipart mimeMultipart = new MimeMultipart();
        mimeMultipart.addBodyPart(image);
        mimeMultipart.addBodyPart(text);
        mimeMultipart.setSubType("related");
        mimeMessage.setContent(mimeMultipart);
        mimeMessage.saveChanges();
        transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
        transport.close();
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值