import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Properties;
@WebServlet("/EmailServlet")
public class EmailServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
// 收件人邮箱
String to = "recipient@example.com";
// 发件人邮箱
String from = "your_email@example.com";
// 邮件服务器主机
String host = "smtp.example.com";
// 发件人邮箱用户名和密码(注意:这里使用的是不安全的明文密码,请在实际应用中使用更安全的方式)
final String username = "your_email@example.com";
final String password = "your_email_password";
// 设置邮件相关的属性
Properties properties = new Properties();
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.port", "587");
// 获取默认的Session对象
Session session = Session.getInstance(properties, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// 创建一个默认的MimeMessage对象
Message message = new MimeMessage(session);
// 设置发件人
message.setFrom(new InternetAddress(from));
// 设置收件人
message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 设置邮件主题
message.setSubject("Test Email");
// 设置邮件内容
message.setText("This is a test email sent from a Servlet.");
// 发送邮件
Transport.send(message);
response.getWriter().println("Email sent successfully.");
} catch (MessagingException e) {
e.printStackTrace();
response.getWriter().println("Error sending email: " + e.getMessage());
}
}
}
在上述示例中:
1. 使用JavaMail API创建一个MimeMessage对象,设置发件人、收件人、主题和邮件内容。
2. 使用Transport.send(message)发送电子邮件。
请注意:
- 为了使用JavaMail API,您需要添加相应的库依赖,例如javax.mail:javax.mail-api和com.sun.mail:javax.mail。
- 在实际应用中,建议使用安全的方式存储邮件服务器的用户名和密码,例如使用加密或配置在安全的环境中。
- 请确保在发送电子邮件之前充分测试,并遵循邮件服务器的使用政策和法规。
转载请注明出处:http://www.zyzy.cn/article/detail/6889/Servlet