在JSP中发送邮件通常需要使用JavaMail API。以下是一个简单的示例,演示如何在JSP中使用JavaMail API发送邮件。请注意,你需要在项目中包含JavaMail库的相关JAR文件。
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.Properties" %>

<%
    // 邮件发送者的信息
    String senderEmail = "your_email@gmail.com";  // 发送者邮箱
    String senderPassword = "your_email_password"; // 发送者邮箱密码

    // 邮件接收者的信息
    String toEmail = "recipient@example.com"; // 接收者邮箱

    // 邮件服务器的信息
    String host = "smtp.gmail.com";  // 你的邮件服务器主机
    int port = 587;  // 你的邮件服务器端口
    String protocol = "smtp";  // 使用的邮件传输协议

    // 创建Properties对象,用于设置邮件服务器的一些属性
    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", port);

    // 获取Session对象
    Session session = Session.getInstance(properties, new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(senderEmail, senderPassword);
        }
    });

    try {
        // 创建MimeMessage对象
        MimeMessage message = new MimeMessage(session);

        // 设置邮件的发件人、收件人、主题等信息
        message.setFrom(new InternetAddress(senderEmail));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));
        message.setSubject("测试邮件");
        message.setText("这是一封测试邮件。");

        // 发送邮件
        Transport.send(message);

        out.println("<h1>邮件发送成功!</h1>");

    } catch (MessagingException e) {
        out.println("<h1>邮件发送失败:" + e.getMessage() + "</h1>");
        e.printStackTrace();
    }
%>

在这个示例中,需要替换示例中的"your_email@gmail.com"和"your_email_password"为实际的发件人邮箱和密码。请注意,存储密码在JSP中可能不是最安全的方式,实际应用中可能需要更安全的方式,比如使用加密存储或者配置在服务器端。

请确保你的项目中包含了JavaMail API的相关JAR文件。在使用此代码之前,你还需要确保允许发件人邮箱使用SMTP服务,有些邮箱服务提供商可能需要在邮箱设置中启用SMTP。


转载请注明出处:http://www.zyzy.cn/article/detail/6918/JSP