java - 如何通过本地主机从 JavaMail 发送邮件

标签 java email jakarta-mail

我正在创建一个表单,当用户填写完详细信息并单击“提交”后,该表单将通过电子邮件发送详细信息。

使用 JavaMail 提交邮件:

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 的电子邮件别名,这意味着我可以从 sendToAliases 获得 4 个电子邮件别名。但是,在部署和运行上述邮件文件后,我无法收到任何电子邮件。谁能给我建议吗?

谢谢。

最佳答案

  • 您检查过日志文件吗?
  • 运行程序时是否遇到任何异常或错误?
  • 你有SMTP吗?服务器在本地主机中运行?
  • SMTP 服务器是否接受来自本地主机的连接?
  • 您可以使用普通电子邮件客户端通过该服务器发送电子邮件并以某种方式接收它们吗?
  • 尝试使您的程序成为独立的命令行程序并尝试执行它

您似乎在 message.setSubject("Email Details Sending); 中缺少引号。您确定您的 servlet 确实可以编译吗?

关于java - 如何通过本地主机从 JavaMail 发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2088547/

相关文章:

java - DefaultTableModel 使单元格不可编辑 JTable

java - 如何从列表中删除重复的自定义对象?

html - 使用 Swift Mailer 将 html 和 css 邮件发送到 gmail

php - 使用 REST API 的 Laravel 电子邮件验证 5.7

javamail : how to have two set of (System. getProperties())

java - 提取JSP页面内容

java - 基于 Spring Security token 的身份验证

java - 对象的所有实例是否共享一个 volatile 变量?

linux - 通过电子邮件正文中的日志获取 cronjob 脚本执行的日志

java - 正确地将编码设置为 UTF-8,即使这样电子邮件也会出现 ?和�