【问题标题】:Transport.send(msg) not workingTransport.send(msg) 不工作
【发布时间】:2016-06-24 19:05:06
【问题描述】:

我正在尝试使用 javamail 从一个帐户向另一个帐户发送一封电子邮件。但是代码无法执行 Transport.send(msg);线。可能的原因是什么? 下面是下面的jsp代码。

<%

        String host = "localhost";
        String to = request.getParameter("to");
        String from = request.getParameter("from");
        String subject = request.getParameter("subject");
        String messageText = request.getParameter("body");
        boolean sessionDebug = false;

        Properties props = System.getProperties();
        props.put("mail.host", host);
        props.put("mail.transport.protocol", "smtp");

        Session mailSession = Session.getDefaultInstance(props, null);

        mailSession.setDebug(sessionDebug);

        try { 
        Message msg = new MimeMessage(mailSession);

        msg.setFrom(new InternetAddress(from));
        InternetAddress[] address = {new InternetAddress(to)};
        msg.setRecipients(Message.RecipientType.TO, address);
        msg.setSubject(subject);
        msg.setSentDate(new Date());
        msg.setText(messageText);

        Transport.send(msg);

        out.println("Mail was sent to " + to);
        out.println(" from " + from);
        out.println(" using host " + host + ".");
        } catch (MessagingException mex) {mex.printStackTrace();}
    %>

【问题讨论】:

  • jsp页面不要写java代码
  • 你的 smtp 端口在哪里??无论如何把你的 StackTrace 放在这里。
  • 使用gmail 服务器测试您的代码,链接here。如果它正在工作,请使用您拥有的任何内容更改服务器和端口名称。

标签: java jsp email jakarta-mail


【解决方案1】:

这些是我常用的属性

properties.put("mail.transport.protocol", "smtp");
properties.put("mail.smtp.host", host);
properties.put("mail.user", from);
properties.put("mail.smtp.port", smtpPort);
properties.put("mail.smtp.localhost", "myHost");

Session session = Session.getInstance(properties, null);

您会注意到我设置了mail.smtp.localhost,如果机器主机名设置不正确,则需要设置它,例如对于虚拟机等

【讨论】:

    【解决方案2】:

    尝试使用属性mail.smtp_port 而不是mail.smtp.port 或:

    mail.smtp.port=
    mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
    mail.smtp.socketFactory.fallback=false
    

    【讨论】:

      猜你喜欢
      • 2013-02-18
      • 1970-01-01
      • 2011-03-05
      • 2021-06-15
      • 2012-09-12
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 2021-10-06
      相关资源
      最近更新 更多