怎么说呢,网上找了很长时间的发送邮件的例子,很多都是对新手很不友好的→_→
而我恰恰就是最新的那一只,最终,总算是在 菜鸟教程 上找到了一个我能自己看懂调通的。
如下是代码和注意事项
1:发送者的邮箱必须开启post,stmp权限(网页邮箱→设置→开启post,stmp权限,获取授权码)
2:我们要用Maven项目,所以你必须要知道一个东西叫pom.xml...(这东西我就不多说了),下面是依赖
<!-- 邮件依赖 -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.4</version>
</dependency>
3:接下来是代码,注释上详细的说明了如何去修改该修改的,成功后就可以通过API发送最简单的邮件了。
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;
/**
* create by anyongliang 2018-11-19
* @author AnYongLiang
* 发送邮件的简单工具类
*/
public class SendMailAcceUtils {
public static void main(String [] args)
{
// 收件人电子邮箱(需要修改)
String to = "BiXue4869@163.com";
// 发件人电子邮箱(需要修改)
String from = "AnYongLiang4869@163.com";
// 指定发送邮件的主机服务器
// 上163或者其他邮箱的网页版-设置中开启smtp权限才可以(必须),然后按照权限上的写
String host = "smtp.163.com"; //163邮箱默认的邮件服务器
// 获取系统属性
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()
{
//发送者邮箱账户名 (需要修改) 授权码(必须修改)-开启smtp权限后自己设置
return new PasswordAuthentication("AnYongLiang4869@163.com", "123456Aa");
}
});
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("头顶字段!");
// 设置消息体
message.setText("消息体");
// 发送消息
Transport.send(message);
System.out.println("测试邮箱邮件体");
}catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
4:→_→ ---- E n d -----