文章来源:
公司原本邮箱发送的代码时从QQ邮箱到QQ邮箱,现在改成ExtMail做为发送发,网易邮箱或者QQ邮箱作为接收方。
什么是Extmail:
ExtMail是基于Postfix搭建的邮件服务器。想要有扩展的可以搜一下如何搭建ExtMail邮箱。
废话不多说上demo:
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class ExtmailSender {
public static void main(String[] args) {
// 配置SMTP服务器和认证信息
Properties properties = new Properties();
properties.put("mail.smtp.host", "smtp.extmail.com"); // 替换为你的SMTP服务器地址
properties.put("mail.smtp.port", "587"); // 替换为你的SMTP服务器端口号
properties.put("mail.smtp.auth", "true");
// 配置发件人邮箱账号和密码
final String username = "your_email@extmail.com"; // 替换为你的邮箱账号
final String password = "your_password"; // 替换为你的邮箱密码
// 创建会话对象
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// 创建邮件消息对象
Message message = new MimeMessage(session);
// 设置发件人
message.setFrom(new InternetAddress(username));
// 设置收件人
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient@example.com")); // 替换为收件人邮箱
// 设置邮件主题
message.setSubject("Hello from Extmail");
// 设置邮件内容
message.setText("This is a test email sent using Extmail.");
// 发送邮件
Transport.send(message);
System.out.println("邮件发送成功");
} catch (MessagingException e) {
System.out.println("邮件发送失败:" + e.getMessage());
}
}
}
这就是个简单的案例,只需配置好SMTP服务器地址和SMTP服务器端口号,设置好发件人的邮箱密码,收件人邮箱,就可以实现简单的案例。