java发送邮件
需积分: 0 95 浏览量
更新于2013-04-16
收藏 373KB ZIP 举报
Java发送邮件是Java编程中的一项常见任务,主要依赖于JavaMail API。JavaMail API是一个开源的、跨平台的API,允许Java程序通过SMTP(简单邮件传输协议)或其他邮件传输协议发送和接收邮件。在这个简单的实例中,我们将探讨如何使用Java发送邮件以及可能遇到的问题和解决方案。
你需要在项目中引入JavaMail相关的库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
```
如果没有使用Maven,可以下载所需的jar包,如`mail.jar`和`activation.jar`,并将其添加到项目的类路径中。
接下来,我们来看一个简单的Java发送邮件的示例代码:
```java
import javax.mail.*;
import javax.mail.internet.*;
public class SendMailExample {
public static void main(String[] args) {
String to = "recipient@example.com";
String from = "sender@example.com";
String host = "smtp.example.com";
Properties properties = System.getProperties();
properties.put("mail.smtp.host", host);
Session session = Session.getDefaultInstance(properties);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Java邮件发送测试");
message.setText("这是来自Java的邮件测试。");
Transport.send(message);
System.out.println("邮件已发送成功!");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
```
在这个例子中,我们设置了发件人、收件人、邮件主题和内容,并通过`Transport.send()`方法发送邮件。注意,你需要将`host`替换为你的SMTP服务器地址,通常可以从你的邮件服务提供商那里获取。
如果遇到“发送报错”的问题,可能是因为JavaMail API与MyEclipse内置的邮件库冲突。解决方法正如描述中所述,可以尝试删除MyEclipse中的mail包,确保只使用你引入的第三方库。
此外,有些邮件服务提供商可能需要身份验证,这时需要设置用户名和密码:
```java
properties.put("mail.smtp.auth", "true");
Authenticator auth = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("your_username", "your_password");
}
};
session = Session.getInstance(properties, auth);
```
另外,如果SMTP服务器需要SSL/TLS加密,还需要配置:
```java
properties.put("mail.smtp.socketFactory.port", "465");
properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.put("mail.smtp.socketFactory.fallback", "false");
properties.put("mail.smtp.starttls.enable", "true");
```
以上就是使用Java发送邮件的基本步骤和可能遇到的问题。通过理解这些知识点,你可以创建一个能够适应各种邮件服务的邮件发送程序。在实际应用中,还可以添加附件、设置HTML格式的邮件内容等高级功能。
huazi0_09
- 粉丝: 4
- 资源: 6