javaweb发送邮箱验证

本文介绍了一个使用Java实现的邮件发送工具类,该工具类通过SMTP协议利用QQ邮箱服务发送HTML格式的激活邮件。文章提供了完整的代码示例,包括配置邮件服务器、设置身份验证以及发送邮件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不一定成功发送,不知道啥原因

package foreiger.utils;

import java.security.Security;
import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
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;

import com.sun.net.ssl.internal.ssl.Provider;

public class MailUtils {
	private static final String username="";//邮箱用户名,即QQ账号
	private static final String password="";//邮箱授权码
	private static String text="请点击下面的链接激活您的邮箱<br><a href=http://zifurj.natappfree.cc/Foreigner/updatetx?yzm=#&email=;>"
			+ "http://zifurj.natappfree.cc/Foreigner/updatetx?yzm=#</a>";
	private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
	private static final String smtpHost="smtp.qq.com";//QQ邮箱服务器
	private static final String from = "";//自己的邮箱
	public static void sendMail(String to,String emailMsg) throws AddressException, MessagingException {
		Security.addProvider(new Provider());
        Transport transport;
        MimeMessage message;
        Properties props = new Properties();
        props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
        props.setProperty("mail.smtp.socketFactory.fallback", "false");
        props.setProperty("mail.smtp.port", "465");
        props.setProperty("mail.smtp.socketFactory.port", "465");
        props.setProperty("mail.smtp.auth", "true");
        props.put("mail.smtp.host",smtpHost);
        props.put("mail.smtp.username", username);
        props.put("mail.smtp.password", password);
        props.put("mail.debug", "true");//没什么用
        Session session = Session.getDefaultInstance(props,  new Authenticator() {
            //身份认证
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });
        InternetAddress[] addresses = {new InternetAddress(to)};
        message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.setRecipients(Message.RecipientType.TO,addresses);
        message.setSubject("歪果仁外语交流平台用户邮箱激活");
        message.setSentDate(new Date());
        String content=text.replaceAll("#", emailMsg).replaceFirst(";", to);
        message.setContent(content,"text/html;charset=utf-8");
        transport = session.getTransport("smtp");
        transport.connect(smtpHost, username, password);
        transport.send(message);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值