Java 邮件发送 带附件

本文档详细介绍了如何使用Java编程在Azure环境中发送带有附件的电子邮件。主要涉及了配置email.properties文件,管理依赖项的pom.xml,实现MailAuthenticator和MailInfo类,以及核心的EmailSender类和PropertiesUtils工具类。
摘要由CSDN通过智能技术生成

我用的是微软azure发送的

email.properties

#如果是qq邮箱的话是 smtp.qq.com
host=smtp.sendgrid.net
#qq邮箱是 465
port=587
userName=azure帐号
#qq邮箱的话是授权码,而不是邮箱密码
password=密码
from=azure帐号
to=收件人帐号

pom.xml

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

MailAuthenticator.java


import javax.mail.PasswordAuthentication;

public class MailAuthenticator extends Authenticator {
   
    private String username;
    private String password;

    public MailAuthenticator() {
    }

    public MailAuthenticator(String username, String password) {
        this.username = username;
        this.password = password;
    }

    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username, password);
    }

}

MailInfo.java

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


public class MailInfo {
   

    private String host;// 邮件服务器域名或IP
    private String mailPort;
    private String from;// 发件人
    private String to;// 收件人
    private String cc;// 抄送人
    private String username;// 发件人用户名
    private String password;// 发件人密码
    private String title;// 邮件的主题
    private String content;// 邮件的内容
    private String[] attachFileNames;//邮件附件的文件名

    /**
     * 获取邮件参数
     *
     * @return
     * @throws GeneralSecurityException
     */
    public Properties getProperties() throws GeneralSecurityException {
        Properties props = new Properties();
        props.put("mail.smtp.host", getHost());
        props.put("mail.smtp.port", getMailPort());
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
      /** 如果用的qq邮箱,下面的注释放开 */
//        MailSSLSocketFactory sslSF = new MailSSLSocketFactory();
//        sslSF.setTrustAllHosts(true);
//        props.put("mail.smtp.ssl.enable", "true");
//        props.put("mail.smtp.ssl.socketFactory", sslSF);
        pr
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值