Java教程

Java Web邮件发送(感谢秦疆老师)

本文主要是介绍Java Web邮件发送(感谢秦疆老师),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、传输协议:

  • SMTP协议

    处理用户邮件发送的请求。

  • POP3协议

    处理用户邮件接收请的求。

2、导包:

mail-1.4.7.jar

activation-1.1.1.jar

3、过程:

4、代码:

import com.sun.mail.util.MailSSLSocketFactory;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class sendMail01 {
    //简单邮件:纯文本内容
    //复杂邮件:文本+图片+附件

    //要发送邮件需要获取协议,开启POP3和SMTP服务
    public static void main(String[] args) throws Exception {

        Properties prop = new Properties();//创建一封邮件
        //以下三项的Key的值都是固定的
        prop.setProperty("mail.host","smtp.qq.com");//设置邮件服务器
        prop.setProperty("mail.transport.protocol","smtp");//设置邮件发送协议
        prop.setProperty("mail.smtp.auth","true");//需要验证用户名和密码

        //如果是QQ邮箱,还要设置SSL加密,加上以下代码即可
        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        prop.put("mail.smtp.ssl.enable","true");
        prop.put("mail.smtp.ssl.socketFactory",sf);

        //==========使用JavaMail发送邮件的6个步骤======

        //1、创建定义整个应用程序所需要的环境信息的Session对象
        Session session = Session.getDefaultInstance(prop, new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication(){
                //发件人邮箱的用户名和授权码(只有qq是授权码,其它的是密码)
                return new PasswordAuthentication("1612893803@qq.com","授权码");
            }
        });
        //开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
        session.setDebug(true);
        
        //2、通过Session得到transport对象
        Transport ts = session.getTransport();

        //3、使用邮箱的用户名和授权码连上邮件服务器
        ts.connect("SMTP.qq.com","1612893803@qq.com","授权码");
        //4、创建邮件

        //创建邮件对象
        MimeMessage message = new MimeMessage(session);
        //指明邮件的发件人
        message.setFrom(new InternetAddress("1612893803@qq.com"));
        //指明邮件的收件人
        message.setRecipient(Message.RecipientType.TO,new InternetAddress("212694926@qq.com"));
        //邮件的标题
        message.setSubject("只是一个普通的纯文本邮件");
        //邮件的文本内容
        message.setContent("你好哇,我来了!","text/html;charset=UTF-8");
        //5、发送邮件
        ts.sendMessage(message,message.getAllRecipients());
        //6、关闭连接
        ts.close();
    }
}

 

这篇关于Java Web邮件发送(感谢秦疆老师)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!