java通过SMTP发送QQ邮件的完全步骤

    xiaoxiao2021-12-14  21

    首先,我们需要打开QQ邮箱的SMTP服务,因为QQ邮箱对于一般的用户都是默认关闭SMTP服务的。

    打开QQ邮箱,点击设置 点击帐户 找到SMTP服务,默认关闭,点击开启,验证后给出一个用于使用SMTP的16位授权码,此处这个口令一定牢记。

    代码前准备: 要使用Java的邮箱功能需要activation.jar和mail.jar包

    package cn.itcast.shop.utils; import java.security.Security; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Message.RecipientType; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * 邮件发送工具类 * @author Administrator * */ public class MailUtils { /** * 发送邮件 * @param to :收件人 * @param code :激活码 */ public static void sendMail(String to,String code){ /** * 1、获得一个Session对象; * 2、创建一个代表邮件的对象Message; * 3、发送邮件Transport对象。 */ // 创建Properties类用于记录邮箱的一些属性 Properties props = new Properties(); // 设置发送邮件的主机:此处填写SMTP发件服务器 props.setProperty("mail.smtp.host", "smtp.qq.com"); // 端口号,QQ邮箱给出了两个端口 props.put("mail.smtp.port", "587"); // 表示SMTP发送邮件,必须进行身份验证 props.put("mail.smtp.auth", "true"); // 获得连接对象Session:javax.mail.Session Session session = Session.getInstance(props, new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication() { // 发送邮件服务器邮箱账号、密码(此密码是QQ邮箱给的16位授权码) return new PasswordAuthentication("******@qq.com","16位授权码"); } }); // 创建邮件消息对象 Message message = new MimeMessage(session); try { // 设置发件人 message.setFrom(new InternetAddress("2311239756@qq.com")); // 设置收件人TO,(抄送CC,密送BCC) message.addRecipient(RecipientType.TO, new InternetAddress(to)); // 设置标题 message.setSubject("激活邮件"); // 设置邮件内容 message.setContent("邮件内容","text/html;charset=UTF-8"); // 发送邮件 Transport.send(message); } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } public static void main(String[] args) { sendMail("接收邮件的邮箱@qq.com", "激活码用于用户注册"); } }
    转载请注明原文地址: https://ju.6miu.com/read-970312.html

    最新回复(0)