个性化阅读
专注于IT技术分析

通过Gmail服务器以Java发送电子邮件

我们可以使用gmail的SMTP服务器发送电子邮件。如果你没有任何SMTP服务器且可靠, 那就很好。在这里, 我们将学习如何通过SSL(安全套接字层)通过gmail服务器发送电子邮件。如果你通过gmail服务器发送电子邮件, 则SSL基本用于安全性。

为了更好地理解此示例, 请首先学习使用JavaMail API发送电子邮件的步骤。
要使用JavaMail API发送电子邮件, 你需要加载两个jar文件:mail.jar activation.jar下载这些jar文件(或)到Oracle网站下载最新版本。

禁用防病毒软件, 例如avast等, 因为它可能会中断你的代码以发送电子邮件。

通过具有SSL的Gmail服务器发送电子邮件的示例

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

解决AuthenticationFailedException

单击此链接, 然后单击打开单选按钮, 以允许用户从未知位置发送邮件。 https://www.google.com/settings/security/lesssecureapps

赞(0)
未经允许不得转载:srcmini » 通过Gmail服务器以Java发送电子邮件

评论 抢沙发

评论前必须登录!