如何通过本地主机从JavaMail发送邮件
我正在创建一个表单,当用户完成其详细信息并单击提交时,该表单将通过电子邮件发送详细信息 使用JavaMail提交邮件:如何通过本地主机从JavaMail发送邮件,java,email,jakarta-mail,Java,Email,Jakarta Mail,我正在创建一个表单,当用户完成其详细信息并单击提交时,该表单将通过电子邮件发送详细信息 使用JavaMail提交邮件: protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); try {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
try {
String host = "localhost";
String from = "root@localhost.localdomain";
try {
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.user", from);
props.put("mail.debug", "true");
Session session = Session.getDefaultInstance(props, null);
session.setDebug(true);
Transport transport = session.getTransport("smtp");
MimeMessage message = new MimeMessage(session);
Address fromAddress = new InternetAddress("root@localhost.localdomain");
message.setFrom(fromAddress);
InternetAddress to = new InternetAddress("sendToAliases@localhost.localdomain");
message.addRecipient(Message.RecipientType.TO, to);
message.setSubject("Email Details Sending");
message.setText("This is my testing content.");
transport.connect(host, from);
message.saveChanges();
Transport.send(message);
transport.close();
} finally {
out.close();
}
}
我正在使用电子邮件别名sendToAliases@localhost.localdomain这意味着我可能有4个来自sendToAliases的电子邮件别名。但是,在部署和运行上述邮件文件时,我无法访问任何电子邮件。谁能给我提个建议吗
谢谢。- 你检查过日志文件了吗
- 运行程序时,您是否遇到任何异常或错误李>
- 您是否有在本地主机上运行的服务器李>
- SMTP服务器是否正在接受来自本地主机的连接李>
- 你能用普通的电子邮件客户端通过该服务器发送电子邮件并以某种方式接收它们吗
- 尝试使您的程序成为独立的命令行程序并尝试执行它
你的
message.setSubject(“电子邮件详细信息发送”);
中似乎缺少一个引号。你确定你的servlet确实编译了吗?是的,我刚刚做了一个telnet myserver 25Hi,我测试了使用telnet从命令行发送电子邮件,效果非常好。关于message.setSubject(“电子邮件详细信息发送”);是由于粘贴而导致的打字错误。我在密码里有。编译很好。@jl.u可以分享一些在localhost windows for java中运行smtp的教程吗?谢谢!