要从Java发送SMTP消息,您需要使用JavaMail API。以下是一个简单的示例代码,演示如何使用JavaMail API通过SMTP发送电子邮件:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
public class SendEmail {
public static void main(String[] args) {
// 设置发件人、收件人和SMTP服务器信息。
String from = "your_email@example.com";
String password = "your_email_password";
String to = "recipient@example.com";
String host = "smtp.example.com";
// 配置SMTP服务器属性。
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
// 获取默认的Session对象。
Session session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
});
try {
// 创建一个消息。
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
message.setSubject("Testing Subject");
message.setText("Dear Mail Recipient,\n\nThis is a test email sent through JavaMail API.\n\nBest regards,\nThe JavaMail Team");
// 发送消息。
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
请注意,您需要将from
、password
、to
和host
变量替换为您的实际SMTP服务器信息。此代码示例使用STARTTLS加密发送电子邮件。
推荐的腾讯云相关产品:
产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云