小编Sun*_*nga的帖子

通过中继服务器用 Java 发送电子邮件

我正在运行 Java Web 应用程序并尝试从中发送电子邮件通知。当我们在我们的一台服务器上托管这个应用程序时,它运行得非常好。我们将其指向端口 25 上的 smtp.gmail.com 以及我们能够发送的消息。

但是现在为了安全起见,我们将它托管在我们客户的一台服务器上。他们碰巧阻止了所有 smtp 域并且只允许他们自己的 (SMTPRELAY.COMPANYNAME.COM)。我更改了代码中的主机,但现在身份验证失败。

使用这家公司的中继服务器发送电子邮件时,是否仍然可以验证我的 gmail 帐户?最好的解决方案是什么?

下面是代码的相关部分。

content = "message content";
List<String> recipients = LIST_OF_RECIPIENT_EMAIL_ADDRESSES;

    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", "SMTPRELAY.COMPANYNAME.COM");
    props.put("mail.smtp.port", "25");
    props.put("mail.smtp.ssl.trust", "SMTPRELAY.COMPANYNAME.COM");
    props.put("mail.debug", "true");

    Session session = Session.getInstance(props,
      new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            //This is where the email account name and password are set
            return new PasswordAuthentication("SUPPORTEMAILACCOUNT@gmail.com", "PASSWORD");
        }
      });
    try{
         MimeMessage message = new MimeMessage(session);

         message.setReplyTo(new Address[]{new InternetAddress("no-reply@gmail.com")});
         for(String recipient: …
Run Code Online (Sandbox Code Playgroud)

java email smtp

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

email ×1

java ×1

smtp ×1