java 不通过服务器发送邮件_java如何不连smtp,直接发送邮件
时间: 2024-01-23 19:17:21 浏览: 111
Java可以使用JavaMail API来发送邮件,不必连SMTP服务器。以下是一个示例代码:
```java
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class SendMail {
public static void main(String [] args) {
// 收件人的电子邮件 ID
String to = "recipient@example.com";
// 发件人的电子邮件 ID
String from = "sender@example.com";
// 指定发送邮件的主机为 localhost
String host = "localhost";
// 获取系统属性
Properties properties = System.getProperties();
// 设置邮件服务器
properties.setProperty("mail.smtp.host", host);
// 获取默认的 Session 对象
Session session = Session.getDefaultInstance(properties);
try {
// 创建默认的 MimeMessage 对象
MimeMessage message = new MimeMessage(session);
// Set From: 头部头字段
message.setFrom(new InternetAddress(from));
// Set To: 头部头字段
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
// Set Subject: 头部头字段
message.setSubject("This is the Subject Line!");
// 设置实际消息
message.setText("This is actual message");
// 发送消息
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
```
在此示例中,我们没有连接到SMTP服务器。相反,我们设置了邮件服务器的主机名为“localhost”,这意味着我们将使用本地SMTP服务器来发送邮件。您可以将此主机名更改为实际SMTP服务器的主机名。
阅读全文