码迷,mamicode.com
首页 > 编程语言 > 详细

Java邮件发送

时间:2018-10-10 19:09:05      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:密码   host   邮件内容   sage   sendmail   util   qq邮箱   internet   构建   

需要导入的jar包:mail.jar和activation.jar

587端口:

package mail;

import java.util.Properties;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class MailUtilsQQ587 {

    // 收件人,邮件主题及邮件内容通过参数形式传递
    public static void sendMail(String emailAddr,String emailSub,String emailMsg) throws MessagingException {

        // 创建Properties 类用于记录邮箱的一些属性
        Properties props = new Properties();

        // 表示SMTP发送邮件,必须进行身份验证
        props.put("mail.smtp.auth", "true");

        //SMTP服务器
        props.put("mail.smtp.host", "smtp.qq.com");

        //端口号,QQ邮箱给出了两个端口,465与587
        props.put("mail.smtp.port", 587);

        // 邮箱账号
        props.put("mail.user", "xxxxxxxxxx@qq.com");

        // 邮箱授权码
        props.put("mail.password", "xxxxxxxxxxxxxxxx");


        // 构建授权信息,用于进行SMTP进行身份验证
        Authenticator authenticator = new Authenticator() {
            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(emailAddr);
        message.setRecipient(MimeMessage.RecipientType.TO, to);

        // 邮件标题
        message.setSubject(emailSub);

        // 邮件内容体
        message.setContent(emailMsg, "text/html;charset=UTF-8");

        // 发送邮件
        Transport.send(message);
    }
}

465端口:

package mail;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
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 MailUtilsQQ465 {
    public static void senMail(String emailAddr, String emailSub,String emailMsg) throws MessagingException {

        Properties properties = new Properties();
        properties.put("mail.transport.protocol", "smtp"); // 连接协议
        properties.put("mail.smtp.host", "smtp.qq.com"); // 主机名
        properties.put("mail.smtp.port", 465);  // 端口号
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.smtp.ssl.enable", "true");  // 设置是否使用ssl安全连接 (一般都使用)
        properties.put("mail.debug", "true"); // 设置是否显示debug信息 true 会在控制台显示相关信息

        // 得到回话对象
        Session session = Session.getInstance(properties);

        // 获取邮件对象
        Message message = new MimeMessage(session);

        // 设置发件人邮箱地址
        message.setFrom(new InternetAddress("xxxxxxxxxx@qq.com"));

        // 设置收件人地址
        message.setRecipients( RecipientType.TO, new InternetAddress[] { new InternetAddress(emailAddr) });

        // 设置邮件标题
        message.setSubject(emailSub);

        // 设置邮件内容
        message.setContent(emailMsg,"text/html;Charset=UTF-8");

        // 得到邮差对象
        Transport transport = session.getTransport();

        // 连接邮箱账户,密码为邮箱的授权码
        transport.connect("xxxxxxxxxx@qq.com", "xxxxxxxxxxxxxxxx");

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

  

Java邮件发送

标签:密码   host   邮件内容   sage   sendmail   util   qq邮箱   internet   构建   

原文地址:https://www.cnblogs.com/heqiuyong/p/9768106.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!