Java 使用 Google 发送电子邮件:完整代码示例和指南
要使用 Java 代码发送电子邮件,需要使用 JavaMail API 和 Java Activation Framework(JAF)。以下是使用 Google SMTP 服务器发送电子邮件的示例代码:
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendEmail {
public static void main(String[] args) {
// 收件人电子邮件ID
String to = 'recipient@gmail.com';
// 发件人电子邮件ID
String from = 'sender@gmail.com';
// Google SMTP服务器
String host = 'smtp.gmail.com';
// 获取系统属性
Properties properties = System.getProperties();
// 设置SMTP服务器
properties.put('mail.smtp.host', host);
properties.put('mail.smtp.port', '587');
properties.put('mail.smtp.starttls.enable', 'true');
properties.put('mail.smtp.auth', 'true');
// 获取默认的Session对象
Session session = Session.getDefaultInstance(properties, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication('sender@gmail.com', 'password');
}
});
try {
// 创建默认的MimeMessage对象
MimeMessage message = new MimeMessage(session);
// 设置发件人
message.setFrom(new InternetAddress(from));
// 设置收件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 设置主题
message.setSubject('Test Email');
// 设置消息正文
message.setText('This is a test email.');
// 发送消息
Transport.send(message);
System.out.println('Message sent successfully.');
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
在上面的代码中,我们使用 Google SMTP 服务器(smtp.gmail.com)发送电子邮件。要使用此代码,您需要将收件人和发件人的电子邮件 ID 替换为实际值,并将发件人的密码替换为实际密码。此外,您需要在类路径中包含 JavaMail API 和 JAF。
配置步骤:
- **下载 JavaMail API 和 JAF:**您可以从 https://www.oracle.com/java/technologies/javamail.html 下载 JavaMail API 和 JAF。
- **添加库到项目:**将下载的 JAR 文件添加到您的项目类路径中。
- **启用 Google 的“不太安全的应用”访问:**为了使用 Google SMTP 服务器发送电子邮件,您需要在 Google 帐户设置中启用“不太安全的应用”访问。您可以通过以下链接访问该设置: https://myaccount.google.com/lesssecureapps
常见问题解答:
- 如何获取 Google SMTP 服务器地址? Google SMTP 服务器地址为 'smtp.gmail.com'。
- 如何获取发件人的密码? 发件人的密码是您用于访问 Google 帐户的密码。
- 如何处理身份验证错误? 确保您已启用“不太安全的应用”访问,并且您的发件人密码正确。
- 如何发送 HTML 格式的电子邮件? 您可以使用
message.setContent(htmlContent, 'text/html');方法发送 HTML 格式的电子邮件。
其他资源:
希望本教程对您有所帮助!如果您有任何问题,请随时在评论区留言。
原文地址: https://www.cveoy.top/t/topic/nAJS 著作权归作者所有。请勿转载和采集!