2

我使用此代码发送电子邮件

 Email email = new SimpleEmail();
            email.setDebug(true);
            email.setHostName("webmail.company.com");
            email.setSmtpPort(587);

            email.setAuthenticator(new DefaultAuthenticator("username@company.com", "*****"));
            email.setSSLOnConnect(true);
            try {
                email.setFrom("username@company.com");

                email.setSubject("TestMail");

                email.setMsg("Hi "+receiver.getSex()+" "+receiver.getName()+" "+editorBean.getValue());

                email.addTo(receiver.getEmail());
                email.send();
            } catch (EmailException ex) {
                Logger.getLogger(PersonBean.class.getName()).log(Level.SEVERE, null, ex);
                result += "exptions :" + ex.getMessage();
                return result;
            }

而且我认为 smtp 端口没有改变“将电子邮件发送到以下服务器失败:webmail.company.com:465”有什么问题?

4

3 回答 3

2

您需要使用setSslSmtpPort(String)而不是setSmtpPort(int)因为您使用 SSL 进行连接。

于 2013-06-03T14:27:57.377 回答
1

检查您的 IP 是否被列入黑名单。在某些情况下,您需要明确

在连接到 smtp 之前将您的 ip 列入白名单。

于 2013-06-03T14:24:37.167 回答
0

步骤1:

更改您在 gmail 帐户中的设置以允许安全性较低的应用程序。转到https://myaccount.google.com/lesssecureapps并为不太安全的应用打开访问权限

第2步:

在我的情况下,当我尝试发送电子邮件时,Avast Antivirus 导致引发异常。

Avast 盾牌控制 -> 禁用 10 分钟

(或者)

打开 Avast 用户界面 -> 设置 -> 组件 -> MailShield(自定义) -> MainSettings - 取消选中“扫描出站邮件 (SMTP)”选项

于 2017-07-08T00:06:03.387 回答