自搭服务器,如何使用Java代码发送邮件
时间: 2024-05-03 16:23:35 浏览: 15
使用Java代码发送邮件需要使用JavaMail API和Java Activation Framework(JAF)。
以下是使用JavaMail API和JAF发送邮件的步骤:
1. 下载JavaMail API和JAF库,并将它们添加到项目的类路径中。
2. 创建一个邮件会话对象:
```java
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.example.com"); // SMTP服务器地址
Session session = Session.getInstance(props, null);
```
3. 创建一个MimeMessage对象,设置发件人、收件人、主题和内容:
```java
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("sender@example.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("recipient@example.com"));
message.setSubject("Test Email");
message.setText("This is a test email.");
```
4. 发送邮件:
```java
Transport.send(message);
```
完整的Java代码示例:
```java
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendEmail {
public static void main(String[] args) {
String smtpHost = "smtp.example.com";
String from = "sender@example.com";
String to = "recipient@example.com";
String subject = "Test Email";
String text = "This is a test email.";
Properties props = new Properties();
props.put("mail.smtp.host", smtpHost);
Session session = Session.getInstance(props, null);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
message.setText(text);
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```