JavaMail API提供了许多类, 可用于从Java发送电子邮件。 javax.mail和javax.mail.internet软件包包含发送和接收电子邮件所需的所有类。
为了更好地理解此示例, 请单击从Javamail API发送电子邮件的步骤
要使用JavaMail API发送电子邮件, 你需要加载两个jar文件:
- mail.jar
- activation.jar
通过Servlet中的JavaMail API发送电子邮件的示例
这是从servlet发送电子邮件的简单示例。对于此示例, 我们将创建3个文件:
- 用于输入的index.html文件
- SendMail.java, 一个servlet文件, 用于处理请求并向用户提供响应。它使用Mailer类的send方法发送电子邮件。
- Mailer.java, 这是一个Java类, 其中包含将电子邮件发送到所提到的收件人的send方法。
<
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="http://www.srcmini.com/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@srcmini.com";
//change accordingly
final String pass="xxxxx";
//1st step) Get the session object
Properties props = new Properties();
props.put("mail.smtp.host", "mail.srcmini.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开发)
【Servlet使用JavaMail API发送电子邮件示例】下载此示例(使用Eclipse IDE开发)
下载此示例(使用Netbeans IDE开发)
推荐阅读
- Servlet中的分页示例图解
- AndroidSDK的默认安装路径
- springboot[2.3.4.RELEASE]application.properties常用配置
- SpringApplication.run(xxx.class, args)背后的东东——整体脉络
- Android | 零代码快速集成AGC崩溃服务
- android 二级列表 二级目录
- leetcode407 Trapping rain water II
- vue+uni-app商城实战 | 第一篇(有来小店微信小程序快速开发接入Spring Cloud OAuth2认证中心完成授权登录)
- cnpm : 无法加载文件 C:UsersadminAppDataRoamingpmcnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息 hbuilderx