java实现发送邮件

xiaoxiao2021-03-01  7

以qq邮箱为例,首先

 

找到

 

然后会生成一个16为的密码(注意:这个密码我们后面要用)

       

 

然后创建一个java项目测试

 

pom.xml导入需要的jar包

 

<dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.5</version> </dependency>

 

创建java类进行测试

 

public static void main(String [] args) throws MessagingException, IOException { // 创建Properties 类用于记录邮箱的一些属性 final Properties props = new Properties(); // 表示SMTP发送邮件,必须进行身份验证 props.put("mail.smtp.auth", "true"); //此处填写SMTP服务器 props.put("mail.smtp.host", "smtp.qq.com"); //端口号,QQ邮箱给出了两个端口,但是另一个我一直使用不了,所以就给出这一个587 props.put("mail.smtp.port", "587"); // 此处填写你的账号 props.put("mail.user", "xxxxxxxxxx@qq.com"); // 此处的密码就是前面说的16位STMP口令 props.put("mail.password", "hbwxypjtboaobhch"); // 构建授权信息,用于进行SMTP进行身份验证 Authenticator authenticator = new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { // 用户名、密码 String userName = props.getProperty("mail.user"); String password = props.getProperty("mail.password"); return new PasswordAuthentication(userName, password); } }; // 使用环境属性和授权信息,创建邮件会话 Session mailSession = Session.getInstance(props, authenticator); // 创建邮件消息 MimeMessage message = new MimeMessage(mailSession); // 设置发件人 InternetAddress form = new InternetAddress( props.getProperty("mail.user")); message.setFrom(form); // 设置收件人的邮箱 InternetAddress to = new InternetAddress("xxxxxxxxxx@qq.com"); message.setRecipient(Message.RecipientType.TO, to); // 设置邮件标题 message.setSubject("测试邮件"); // 设置邮件的内容体 message.setContent("这是一封测试邮件", "text/html;charset=UTF-8"); // 最后当然就是发送邮件啦 Transport.send(message); }

 

运行效果为

 

转载请注明原文地址: https://www.6miu.com/read-4150072.html

最新回复(0)