用JAVA来发送邮件吧

邮件发送

使用Java应用程序发送 E-mail 十分简单,但是你首先得下载javaMail API

下载这个jar包加入到项目中去,本例中是以163邮箱发送邮件的。然后直接上代码:

package com.org.test;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

public class MailUtils {
    //邮件服务器
    private static String smtp_host = "smtp.163.com";
    //用户名
    private static String username = "xxxx@163.com";
    //授权码
    private static String password = "xxxx";
    //发件人信箱
    private static String from = "xxxx@163.com";

    public static void sendMail(String subject, String content, String to) {

        Properties props = new Properties();
        props.setProperty("mail.smtp.host", smtp_host); //邮件服务器
        props.setProperty("mail.transport.protocol", "smtp"); //协议
        props.setProperty("mail.smtp.auth", "true"); //身份验证

        Session session = Session.getInstance(props);  //获取session对象

        Message message = new MimeMessage(session);
        try {
            message.setFrom(new InternetAddress(from));  Set From: 发件人地址

            // Set To: 加载收件人地址
            message.setRecipient(RecipientType.TO, new InternetAddress(to));

            // Set Subject: 加载标题
            message.setSubject(subject);

            // 发送的内容,可以插入html标签
            message.setContent("<h2>"+subject+"</h2><br><p>"+content+"</p>", "text/html;charset=utf-8");

            Transport transport = session.getTransport(); //连接邮件服务器
            transport.connect(smtp_host, username, password); //发送邮件
            transport.sendMessage(message, message.getAllRecipients());
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("邮件发送失败...");
        }
    }
	
    // 测试
	public static void main(String[] args) {
		sendMail("测试邮件", "这是一封测试邮件", "1419908068@qq.com");
	}
}

注意授权码是一个独立的密码,不是你登录的密码。

收到的邮件:

授权码开启

每个邮箱的授权码需要单独开启,并且还需要开启POP3/SMTP/IMAP服务,各个邮箱开启步骤如下:

网易163邮箱

登录后点击设置 --> POP3/SMTP/IMAP

分别勾选图中箭头所指选项:

点击右侧菜单中的客户端授权密码,然后再点击开启,安装提示信息发送完短信就可以设置授权码了:


QQ邮箱

登录邮箱后点击设置–>账户,往下翻找到这个地方:


像图中这样把POP3/SMTP服务,IMAP/SMTP服务开启,然后生成授权码就好了

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐