Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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邮件API不工作?_Java_Email_Jakarta Mail - Fatal编程技术网

Java邮件API不工作?

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 或 代

例外情况:

我已经使用正确的登录电子邮件ID和密码,通过使用JavamailAPI编译和执行这个程序,下面给出了我的runabble批处理文件命令


身份验证失败异常:534.5.7.14

此处代码运行正常

我认为您提供的用户名和/或密码不正确。如果您已启用双向身份验证,请确保您提供了正确的身份验证

与您的问题无关-从未使用init方法中使用的参数

因此,您可以:

  • init
    方法中删除了参数,即
    init()

  • mailssender
    实例传递给
    init
    方法,即
    init(this)

i、 e


代码在这里运行良好

我认为您提供的用户名和/或密码不正确。如果您已启用双向身份验证,请确保您提供了正确的身份验证

与您的问题无关-从未使用init方法中使用的参数

因此,您可以:

  • init
    方法中删除了参数,即
    init()

  • mailssender
    实例传递给
    init
    方法,即
    init(this)

i、 e


代码在这里运行良好

我认为您提供的用户名和/或密码不正确。如果您已启用双向身份验证,请确保您提供了正确的身份验证

与您的问题无关-从未使用init方法中使用的参数

因此,您可以:

  • init
    方法中删除了参数,即
    init()

  • mailssender
    实例传递给
    init
    方法,即
    init(this)

i、 e


代码在这里运行良好

我认为您提供的用户名和/或密码不正确。如果您已启用双向身份验证,请确保您提供了正确的身份验证

与您的问题无关-从未使用init方法中使用的参数

因此,您可以:

  • init
    方法中删除了参数,即
    init()

  • mailssender
    实例传递给
    init
    方法,即
    init(this)

i、 e



“提供以下规定的例外情况”,然后未指定。这是我们必须为优秀员工发现的一个巧妙的面试问题吗?最后一个句点
是一个微型图形图像,它实际上以微文本的形式保存着例外情况吗?或者你只是忘了包括它?身份验证失败异常: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);
        }
    });
}