今天公司某一个业务需要给顾客发邮件进行营销,并且需要附带附件,公司当前对该功能还没有进行封装。我暂时对于使用Java程序发送邮件练习一个小demo。
本文涉及到的知识点:
1.如何使用Java程序发送邮件
2.如何发送有附件的邮件
3.如何进行群发邮件
4.如何携带多个附件
一、开启邮箱服务
- 打开QQ邮箱客户端,点击设置
- 打开服务,并获取授权码(注意授权码很重要,为了保证传输的安全,我们后续使用传输中需要使用授权码作为密码的校验)
- 注意这一步可能需要我们使用绑定邮箱的手机号发送短信,然后返回页面查看授权码就OK了
编写发送邮件程序
import java.io.UnsupportedEncodingException;
import java.security.GeneralSecurityException;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import com.alibaba.druid.util.StringUtils;
import com.sun.mail.util