我正在使用JavaMail
发送电子邮件,但得到的错误是javax。邮政AuthenticationFailedException:535-5.7.8不接受用户名和密码。在535.7.8了解更多信息https://support.google.com/mail/?p=BadCredentialsg188sm3298732pfc。24-gsmtp
Email Utive
。sendEmail()
-它将SMTP服务器设置和消息详细信息作为参数。我的电子邮件实用程序
类
public class EmailUtility {
public static void sendEmail(String host, String port, final String userName, final String password,
String toAddress, String subject, String message) throws AddressException, MessagingException {
// setting SMTP server properties
Properties properties = new Properties();
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.port", port);
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
Session session = Session.getInstance(properties, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userName, password);
}
});
// creates a new e-mail message
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(userName));
InternetAddress[] toAddresses = { new InternetAddress(toAddress) };
msg.setRecipients(Message.RecipientType.TO, toAddresses);
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setText(message);
// sending the e-mail
Transport.send(msg);
}
}
这是我的网站。xml文件
<context-param>
<param-name>host</param-name>
<param-value>smtp.gmail.com</param-value>
</context-param>
<context-param>
<param-name>port</param-name>
<param-value>587</param-value>
</context-param>
<context-param>
<param-name>user</param-name>
<param-value>test.123@gmail.com</param-value>
</context-param>
<context-param>
<param-name>pass</param-name>
<param-value>12345698</param-value>
</context-param>
这是我的servlet类
public void init() {
// reading SMTP server setting from web.xml file
ServletContext context = getServletContext();
host = context.getInitParameter("host");
port = context.getInitParameter("port");
user = context.getInitParameter("user");
pass = context.getInitParameter("pass");
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// reading form fields
String recipient = request.getParameter("recipient");
String subject = request.getParameter("subject");
String content = request.getParameter("content");
System.out.println(recipient+" sub "+subject+" content "+content);
String resultMessage = "";
try {
EmailUtility.sendEmail(host, port, user, pass, recipient, subject,
content);
resultMessage = "The e-mail was sent successfully";
} catch (Exception ex) {
ex.printStackTrace();
resultMessage = "There were an error: " + ex.getMessage();
}
我在做正确的事情,但不知道问题是什么
如果我在gmail中启用较少的安全应用程序设置,那么它的工作正常,我不认为这是解决问题的正确方法,因为不是每个用户都要这样做
伙计们帮帮我,我不知道我在做什么奇怪的事,谢谢
编辑有没有其他资源可以让我在gmail到yahoo这样的跨平台上发送邮件?我愿意使用任何其他资源来完成我正在尝试的任务
不同的服务器有不同的安全要求。如果你想处理所有这些问题,你需要在你的应用程序中使用一些特殊情况。
有时,您需要用户为电子邮件服务器创建特定于应用程序的密码。
有时,如果服务器支持OAuth,则需要支持它。
我有一个Outlook.com的电子邮件帐户。我希望我的Java应用程序能够使用JavaMail从该电子邮件帐户发送电子邮件。为此,我通过OAuth授予了我的应用程序访问权限。 我已经能够使用msgshow中提供的精彩示例应用程序通过IMAP成功连接.java。但是,我正在尝试通过SMTP通过我的 Outlook.com 电子邮件帐户发送电子邮件,但我没有任何运气。我尝试过同时使用msgsend.
我需要通过我的应用程序发送一封电子邮件,比如使用带有OAuth的javamail API,但我需要如何使用我在下面添加的代码。 我的代码:
使用 Servlet 发送一封电子邮件是很简单的,但首先您必须在您的计算机上安装 JavaMail API 和 Java Activation Framework)JAF)。 您可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。 您可以从 Java 网站下载最新版本的 JAF(版本 1.1.1)。 你也可以使用本站提供的下载链接: Ja
我在使用我的公司交换服务器通过Javamail发送电子邮件时遇到了一些问题。我们有一个应用程序通过gmail服务器发送电子邮件没有任何问题,但对于Google策略的一些更改,我们希望使用公司服务器来完成这项工作。我确信会话属性中的问题,但我无法找到使其工作的方法 这是显示日志的错误 javax.mail.MessagingException:无法连接到SMTP主机:mail.company.com
问题内容: 我尝试使用 Spring javamail 从 Heroku 发送电子邮件,但出现错误。 __ 我的代码: 豆子: 和控制器: 在localhost:8080和localhost:5000上,测试成功完成,但是在heroku服务器上,我有例外: 验证失败;嵌套的异常是javax.mail.AuthenticationFailedException:534-5.7.14请通过Web浏览器
我试图使用Spring javamail从Heroku发送电子邮件,但出现了错误。 我的代码: 豆: 和控制器: 在localhost:8080和localhost:5000上,测试成功完成,但在heroku服务器上,我有一个异常: 身份验证失败;嵌套的异常是javax。邮政身份验证失败异常:534-5.7.14请通过web浏览器和534-5.7.14登录,然后重试。534-5.7.14在534