Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:smtp.gmail.com:465_Java_Email_Tomcat_Jakarta Mail - Fatal编程技术网

Java org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:smtp.gmail.com:465

Java org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:smtp.gmail.com:465,java,email,tomcat,jakarta-mail,Java,Email,Tomcat,Jakarta Mail,我有一个Maven项目,使用JSF2.2、Tomcat7和ApacheCommons发送电子邮件 这是我的密码 try { // Create the email message HtmlEmail email = new HtmlEmail(); email.setSmtpPort(465); //email.setSslSmtpPort("465"); email.setSSLOnConnect(true); email.setHostName("sm

我有一个Maven项目,使用JSF2.2、Tomcat7和
ApacheCommons
发送电子邮件

这是我的密码

try {
    // Create the email message
    HtmlEmail email = new HtmlEmail();
    email.setSmtpPort(465); //email.setSslSmtpPort("465");
    email.setSSLOnConnect(true);
    email.setHostName("smtp.gmail.com");
    email.addTo("test@gmail.com", "test");
    email.setFrom(getEmail(), getName());
    email.setSubject(getSubject());
    email.setHtmlMsg("<html>Test</html>"); // set the html message
    email.setTextMsg(getText());// set the alternative message
    email.send();// send the email
} catch (EmailException e) {
    logger.error("Exception sending email: ", e);
} catch (Exception ex) {
    logger.error("Exception sending email: ", ex);
}
试试看{
//创建电子邮件
HtmlEmail电子邮件=新HtmlEmail();
email.setsmtport(465);//email.setsslstpport(“465”);
email.setSSLOnConnect(true);
email.setHostName(“smtp.gmail.com”);
email.addTo(“test@gmail.com“,”测试“);
setFrom(getEmail(),getName());
email.setSubject(getSubject());
email.setHtmlMsg(“Test”);//设置html消息
email.setTextMsg(getText());//设置替代消息
email.send();//发送电子邮件
}捕获(电子邮件例外){
logger.错误(“发送电子邮件异常:”,e);
}捕获(例外情况除外){
logger.错误(“发送电子邮件异常:”,ex);
}
当我尝试在Tomcat 7中运行代码时,出现以下异常:

org.apache.commons.mail.EmailException:将电子邮件发送到 以下服务器失败:smtp.gmail.com:465


这将是因为SMTP中继需要身份验证,您必须使用gmail用户/pass登录才能使用中继

我以前从未使用过commons电子邮件,但在谷歌搜索了几次之后,我通过gmail发送了一封电子邮件

HtmlEmail email = new HtmlEmail();

String authuser = "user";
String authpwd = "pass";

email.setAuthenticator(new DefaultAuthenticator(authuser, authpwd));

email.setHostName("smtp.gmail.com");

// properties to configure encryption
email.getMailSession().getProperties().put("mail.smtps.auth", "true");
email.getMailSession().getProperties().put("mail.debug", "true");
email.getMailSession().getProperties().put("mail.smtps.port", "587");
email.getMailSession().getProperties().put("mail.smtps.socketFactory.port", "587");
email.getMailSession().getProperties().put("mail.smtps.socketFactory.class",   "javax.net.ssl.SSLSocketFactory");
email.getMailSession().getProperties().put("mail.smtps.socketFactory.fallback", "false");
email.getMailSession().getProperties().put("mail.smtp.starttls.enable", "true");

这将是因为SMTP中继需要身份验证,您必须使用gmail用户/pass登录才能使用中继

我以前从未使用过commons电子邮件,但在谷歌搜索了几次之后,我通过gmail发送了一封电子邮件

HtmlEmail email = new HtmlEmail();

String authuser = "user";
String authpwd = "pass";

email.setAuthenticator(new DefaultAuthenticator(authuser, authpwd));

email.setHostName("smtp.gmail.com");

// properties to configure encryption
email.getMailSession().getProperties().put("mail.smtps.auth", "true");
email.getMailSession().getProperties().put("mail.debug", "true");
email.getMailSession().getProperties().put("mail.smtps.port", "587");
email.getMailSession().getProperties().put("mail.smtps.socketFactory.port", "587");
email.getMailSession().getProperties().put("mail.smtps.socketFactory.class",   "javax.net.ssl.SSLSocketFactory");
email.getMailSession().getProperties().put("mail.smtps.socketFactory.fallback", "false");
email.getMailSession().getProperties().put("mail.smtp.starttls.enable", "true");

标准的
javax.mail
API与
HtmlEmail
完全不同。它属于ApacheCommons。标准的
javax.mail
API与
HtmlEmail
完全不同。它属于Apache Commons。谢谢,我更改了代码,但现在我得到了expetion org.Apache.Commons.mail.EmailException:将电子邮件发送到以下服务器失败:smtp.gmail.com:25谢谢,我更改了代码,但现在我得到expetion org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:smtp.gmail.com:25