Java邮件API不工作?
例外情况: 我已经使用正确的登录电子邮件ID和密码,通过使用JavamailAPI编译和执行这个程序,下面给出了我的runabble批处理文件命令Java邮件API不工作?,java,email,jakarta-mail,Java,Email,Jakarta Mail,例外情况: 我已经使用正确的登录电子邮件ID和密码,通过使用JavamailAPI编译和执行这个程序,下面给出了我的runabble批处理文件命令 身份验证失败异常:534.5.7.14此处代码运行正常 我认为您提供的用户名和/或密码不正确。如果您已启用双向身份验证,请确保您提供了正确的身份验证 与您的问题无关-从未使用init方法中使用的参数 因此,您可以: 从init方法中删除了参数,即init() 将mailssender实例传递给init方法,即init(this) i、 e 或 代
身份验证失败异常:534.5.7.14此处代码运行正常 我认为您提供的用户名和/或密码不正确。如果您已启用双向身份验证,请确保您提供了正确的身份验证 与您的问题无关-从未使用init方法中使用的参数 因此,您可以:
- 从
方法中删除了参数,即init
init()
- 将
实例传递给mailssender
方法,即init
init(this)代码>
代码在这里运行良好 我认为您提供的用户名和/或密码不正确。如果您已启用双向身份验证,请确保您提供了正确的身份验证 与您的问题无关-从未使用init方法中使用的参数 因此,您可以:
- 从
方法中删除了参数,即init
init()
- 将
实例传递给mailssender
方法,即init
init(this)代码>
代码在这里运行良好 我认为您提供的用户名和/或密码不正确。如果您已启用双向身份验证,请确保您提供了正确的身份验证 与您的问题无关-从未使用init方法中使用的参数 因此,您可以:
- 从
方法中删除了参数,即init
init()
- 将
实例传递给mailssender
方法,即init
init(this)代码>
代码在这里运行良好 我认为您提供的用户名和/或密码不正确。如果您已启用双向身份验证,请确保您提供了正确的身份验证 与您的问题无关-从未使用init方法中使用的参数 因此,您可以:
- 从
方法中删除了参数,即init
init()
- 将
实例传递给mailssender
方法,即init
init(this)代码>
“提供以下规定的例外情况”,然后未指定。这是我们必须为优秀员工发现的一个巧妙的面试问题吗?最后一个句点
是一个微型图形图像,它实际上以微文本的形式保存着例外情况吗?或者你只是忘了包括它?身份验证失败异常:534.5.7.14很明显你没有使用正确的登录ID和密码。也许Gmail不高兴你尝试登录太频繁并且失败了?你启用了吗?你有谷歌2步验证吗?如果是这样,您必须为应用程序生成新密码,您的普通密码将无法工作。“提供以下规定的例外情况”,然后未指定。这是我们必须为优秀员工发现的一个巧妙的面试问题吗?最后一个句点
是一个微型图形图像,它实际上以微文本的形式保存着例外情况吗?或者你只是忘了包括它?身份验证失败异常:534.5.7.14很明显你没有使用正确的登录ID和密码。也许Gmail不高兴你尝试登录太频繁并且失败了?你启用了吗?你有谷歌2步验证吗?如果是这样,您必须为应用程序生成新密码,您的普通密码将无法工作。“提供以下规定的例外情况”,然后未指定。这是我们必须为优秀员工发现的一个巧妙的面试问题吗?最后一个句点
是一个微型图形图像,它实际上以微文本的形式保存着例外情况吗?或者你只是忘了包括它?身份验证失败异常:534.5.7.14很明显你没有使用正确的登录ID和密码。也许Gmail不高兴你尝试登录太频繁并且失败了?你启用了吗?你有谷歌2步验证吗?如果是这样,您必须为应用程序生成新密码,您的普通密码将无法工作。“提供以下规定的例外情况”,然后未指定。这是我们必须为优秀员工发现的一个巧妙的面试问题吗?最后一个句点
是一个微型图形图像,它实际上以微文本的形式保存着例外情况吗?或者你只是忘了包括它?身份验证失败异常:534.5.7.14很明显你没有使用正确的登录ID和密码。也许Gmail不高兴你尝试登录太频繁并且失败了?你启用了吗?你有谷歌2步验证吗?如果是这样,您必须为应用程序生成新密码,您的普通密码将无法工作。工作很好,谢谢。:)不客气。请接受此答案,这将标记此帖子已解决,使用谷歌查找此问题的人可以更确信答案是正确的。:)工作很好,谢谢。:)不客气。请接受此答案,这将标记此帖子已解决,使用谷歌查找此问题的人可以更确信答案是正确的。:)工作很好,谢谢。:)不客气。请接受此答案,这将标记此帖子已解决,使用谷歌查找此问题的人可以更确信答案是正确的。:)工作很好,谢谢。:)不客气。请接受这个答案,这将标志着这篇文章已经解决,使用谷歌发现这个问题的人可以更加确信答案是正确的
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MailSender {
private Session session;
private final String username;
private final String password;
public MailSender(String username, String password) {
this.username = username;
this.password = password;
init(username, password);
}
public final void init(String username, String password) {
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(MailSender.this.username, MailSender.this.password);
}
});
}
public boolean send(String recipient, String subject, String body) {
boolean status = false;
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(username));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient));
message.setSubject(subject);
message.setText(body);
Transport.send(message);
status = true;
} catch (MessagingException ex) {
Logger.getLogger(MailSender.class.getName()).log(Level.SEVERE, null, ex);
}
return status;
}
public static void main(String[] args) {
MailSender mailer = new MailSender("ganeshdatapoint@gmail.com", "******");
//Userprojects u=new Userprojects();
boolean status = mailer.send("ganeshdatapoint@gmail.com", "Testing Subject", "Testing message");
System.out.println(status);
}
}
public final void init() {
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(MailSender.this.username, MailSender.this.password);
}
});
}
public final void init(MailSender mailSender) {
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(mailSender.username, mailSender.password);
}
});
}