在Ubuntu下使用JSP實現郵件發送,通常需要以下幾個步驟:
sudo apt update
sudo apt install openjdk-11-jdk
sudo apt update
sudo apt install tomcat9
sudo apt update
sudo apt install postfix
在安裝過程中,選擇"Internet Site"作為配置類型,并設置系統郵件名稱。完成安裝后,啟動Postfix服務:
sudo systemctl start postfix
sudo systemctl enable postfix
<%@ page import="javax.mail.*, javax.mail.internet.*" %>
<%@ page import="java.util.*" %>
<%
String to = request.getParameter("to");
String subject = request.getParameter("subject");
String message = request.getParameter("message");
// 郵件發送者的郵箱和密碼
String fromEmail = "your_email@example.com";
String password = "your_password";
// 配置郵件發送參數
Properties properties = new Properties();
properties.put("mail.smtp.host", "localhost");
properties.put("mail.smtp.port", "25");
properties.put("mail.smtp.auth", "true");
// 創建會話對象
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(fromEmail, password);
}
});
try {
// 創建郵件消息對象
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setFrom(new InternetAddress(fromEmail));
mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
mimeMessage.setSubject(subject);
mimeMessage.setText(message);
// 發送郵件
Transport.send(mimeMessage);
out.println("郵件發送成功");
} catch (MessagingException e) {
e.printStackTrace();
out.println("郵件發送失敗");
}
%>
注意:在實際應用中,建議使用更安全的方式存儲和管理郵件發送者的郵箱和密碼,例如使用配置文件或環境變量。同時,可以考慮使用第三方郵件發送服務(如SendGrid、Mailgun等)來提高郵件發送的成功率和穩定性。