使用JavaMail发送普通邮件(纯文本邮件)

本文提供了一个使用JavaMail API发送QQ邮箱的示例代码,包括配置SMTP服务器、使用SSL加密及通过JavaMail发送带有HTML内容的邮件等关键步骤。

发送简单邮件的JAVA类

import com.sun.mail.util.MailSSLSocketFactory;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.security.GeneralSecurityException;
import java.util.Properties;
//发送一封简单的邮件
public class MailDemo1 {
    public static void main(String[] args) throws GeneralSecurityException, MessagingException {

        Properties prop = new Properties();
        prop.setProperty("mail.host","smtp.qq.com");    //设置QQ邮箱服务器
        prop.setProperty("mail.transport.protocal","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发送邮件的五个步骤
        //1、创建定义整个应用程序所需的环境信息的Session对象
        Session  session = Session.getDefaultInstance(prop, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                //发件人 邮件用户名、授权码
                return new PasswordAuthentication("123456789@qq.com","随机授权码");
            }
        });

        //开启session的debug模式, 这样可以查看程序发送Email的运行状态
        session.setDebug(true);

        //2、通过Session得到transport对象
        Transport transport = session.getTransport();
        //3、使用邮箱的用户名和授权码连上邮件服务器
        transport.connect("smtp.qq.com","123456789@qq.com","随机授权码");
        //4、创建邮件 -> 写信
            //注意需要传递session
        MimeMessage message = new MimeMessage(session);
            //指明邮件的发件人
        message.setFrom(new InternetAddress("123456789@qq.com"));
            //指明邮件的收件人
        message.setRecipient(Message.RecipientType.TO,new InternetAddress("1245107453@qq.com"));
            //邮件的标题
        message.setSubject("标题:下午好");
            //邮件的文本内容
        message.setText("潮汕奴仔学JavaMail","text/html;charset=utf8");

        //5、发送邮件
        transport.sendMessage(message,message.getAllRecipients());

        //6、关闭连接
        transport.close();
    }
}

关于随机授权码

进入QQ邮箱

在这里插入图片描述
他会弹出一个页面给你随机授权码

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值