【通过Gmail服务器以Java发送电子邮件】我们可以使用gmail的SMTP服务器发送电子邮件。如果你没有任何SMTP服务器且可靠, 那就很好。在这里, 我们将学习如何通过SSL(安全套接字层)通过gmail服务器发送电子邮件。如果你通过gmail服务器发送电子邮件, 则SSL基本用于安全性。
为了更好地理解此示例, 请首先学习使用JavaMail API发送电子邮件的步骤。 |
要使用JavaMail API发送电子邮件, 你需要加载两个jar文件:mail.jar activation.jar下载这些jar文件(或)到Oracle网站下载最新版本。 |
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
class Mailer{
public static void send(String from, String password, String to, String sub, String msg){
//Get properties object
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
//get Session
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
});
//compose message
try {
MimeMessage message = new MimeMessage(session);
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(sub);
message.setText(msg);
//send message
Transport.send(message);
System.out.println("message sent successfully");
} catch (MessagingException e) {throw new RuntimeException(e);
} }
}
public class SendMailSSL{
public static void main(String[] args) {
//from, password, to, subject, message
Mailer.send("from@gmail.com", "xxxxx", "to@gmail.com", "hello srcmini", "How r u?");
//change from, password and to
}
}
如你在上面的示例中看到的, 需要对用户标识和密码进行身份验证。如该程序所示, 你可以轻松发送电子邮件, 但可以相应地更改用户名和密码。让我们看看如何通过简单的技术再次运行它:
加载jar文件 | c:\> set classpath = mail.jar; activation.jar; 。; |
编译源文件 | c:\> javac SendMailSSL.java |
run by | c:\> Java SendMailSSL |
推荐阅读
- 发送带有HTML内容的电子邮件
- 用Java发送电子邮件
- 使用Java发送带有附件的电子邮件
- 用Java接收电子邮件
- 用Java接收带有附件的电子邮件
- 用Java转发电子邮件
- 用Java删除电子邮件
- Applet中的事件处理
- change.exe指南(它是什么、用途、错误以及如何修复它())