第三周04

今天学习了如何在 Java Web 应用中使用 JavaMail API 发送邮件。首先需要下载 JavaMail 的相关 jar 包,如javax.mail.jar和activation.jar,并将它们添加到项目的WEB-INF/lib目录下。
编写一个简单的邮件发送工具类:
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class EmailUtil {
public static void sendEmail(String to, String subject, String message) {
String from = "your_email@example.com";
String password = "your_password";

    Properties properties = new Properties();
    properties.put("mail.smtp.auth", "true");
    properties.put("mail.smtp.starttls.enable", "true");
    properties.put("mail.smtp.host", "smtp.example.com");
    properties.put("mail.smtp.port", "587");

    Session session = Session.getInstance(properties, new Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(from, password);
        }
    });

    try {
        Message msg = new MimeMessage(session);
        msg.setFrom(new InternetAddress(from));
        msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
        msg.setSubject(subject);
        msg.setText(message);
        Transport.send(msg);
        System.out.println("Email sent successfully!");
    } catch (MessagingException e) {
        e.printStackTrace();
    }
}

}

在 Servlet 中调用这个工具类发送邮件:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class EmailServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String to = request.getParameter("to");
String subject = request.getParameter("subject");
String message = request.getParameter("message");
EmailUtil.sendEmail(to, subject, message);
response.getWriter().println("Email sent request received.");
}
}

通过 JavaMail,为 Web 应用添加了邮件发送功能,这在很多场景下都非常有用,如用户注册确认、密码重置通知等

posted @ 2025-02-02 21:35  Echosssss  阅读(9)  评论(0)    收藏  举报