Servlet使用JavaMail API发送电子邮件示例

JavaMail API提供了许多类, 可用于从Java发送电子邮件。 javax.mail和javax.mail.internet软件包包含发送和接收电子邮件所需的所有类。

为了更好地理解此示例, 请单击从Javamail API发送电子邮件的步骤

要使用JavaMail API发送电子邮件, 你需要加载两个jar文件:

  • mail.jar
  • activation.jar

下载这些jar文件或访问Oracle站点以下载最新版本。

通过Servlet中的JavaMail API发送电子邮件的示例

这是从servlet发送电子邮件的简单示例。对于此示例, 我们将创建3个文件:

  • 用于输入的index.html文件
  • SendMail.java, 一个servlet文件, 用于处理请求并向用户提供响应。它使用Mailer类的send方法发送电子邮件。
  • Mailer.java, 这是一个Java类, 其中包含将电子邮件发送到所提到的收件人的send方法。

index.html

<form action="servlet/SendMail">
To:<input type="text" name="to"/><br/>
Subject:<input type="text" name="subject"><br/>
Text:<textarea rows="10" cols="70" name="msg"></textarea><br/>
<input type="submit" value="send"/>
</form>

SendMail.java

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class SendMail extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {

	response.setContentType("text/html");
	PrintWriter out = response.getWriter();
	
	String to=request.getParameter("to");
	String subject=request.getParameter("subject");
	String msg=request.getParameter("msg");
		
	Mailer.send(to, subject, msg);
	out.print("message has been sent successfully");
	out.close();
	}

}

Mailer.java

import java.util.Properties;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Mailer {
public static void send(String to, String subject, String msg){

final String user="sonoojaiswal@srcmini02.com";//change accordingly
final String pass="xxxxx";

//1st step) Get the session object	
Properties props = new Properties();
props.put("mail.smtp.host", "mail.srcmini02.com");//change accordingly
props.put("mail.smtp.auth", "true");

Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
  protected PasswordAuthentication getPasswordAuthentication() {
   return new PasswordAuthentication(user, pass);
   }
});
//2nd step)compose message
try {
 MimeMessage message = new MimeMessage(session);
 message.setFrom(new InternetAddress(user));
 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
 message.setSubject(subject);
 message.setText(msg);
 
 //3rd step)send message
 Transport.send(message);

 System.out.println("Done");

 } catch (MessagingException e) {
	throw new RuntimeException(e);
 }
	
}
}

下载此示例(无IDE开发)

下载此示例(使用Eclipse IDE开发)

下载此示例(使用Netbeans IDE开发)

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?