闲来无事,想了解一下java怎么发送邮件,然后百度了一下,看看别人的样例,自己整合了一套代码。
jar包的话只需要下一个:mail.jar;从百度云盘下载:
https://pan.baidu.com/s/1c2yvL2w
里面也有工程代码,下面我主要讲讲具体是怎么实现的。
首先因为是针对qq邮箱,所以对别的邮箱要有稍稍改动。其实我一开始是想写成163邮箱的,因为限制太大,老是被认为垃圾邮件发布出去,所以就用qq邮箱了。
前期准备:先要到qq邮箱的设置下,点击账户选项,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,然后开启POP3/SMTP服务。接着就会获取一段授权密码。记下来等下发邮件需要用到。
代码如下:解释在注释下
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message.RecipientType;
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;
/**
* 发送邮件的测试程序(适用qq邮箱)
* 通过本人的qq邮箱: xxx@qq.com 发送邮件
* @author miaoch
*
*/
public class MailTest {
//发送的邮箱 内部代码只适用qq邮箱
private static final String USER