Java 电子邮件发件人

Java Email Sender

我想发一封电子邮件,但我不知道我做错了什么。你们谁能帮我吗?

电子邮件发件人:

public class EmailSender {

    public static boolean sendMail(String from, String password, String message, String to[]) {
        String host = "smtp.gmail.com";
        Properties props = System.getProperties();
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.user", from);
        props.put("mail.smtp.password", password);
        props.put("mail.smtp.port", 587);
        props.put("mail.smtp.auth", "true");
        Session session = Session.getDefaultInstance(props, null);
        MimeMessage mineMessage = new MimeMessage(session);
        try {
            mineMessage.setFrom(new InternetAddress(from));
            InternetAddress[] toAddresses = new InternetAddress[to.length];
            for (int i = 0; i < to.length; i++) {
                toAddresses[i] = new InternetAddress(to[i]);
            }
            for (int i = 0; i < to.length; i++) {
                mineMessage.setRecipients(Message.RecipientType.TO, toAddresses);
            }

            mineMessage.setSubject("mail using javam");
            mineMessage.setText(message);
            Transport transport = session.getTransport("smtp");
            transport.connect(host, from, password);
            transport.sendMessage(mineMessage, mineMessage.getAllRecipients());
            transport.close();
            return true;

        } catch (MessagingException ex) {
            Logger.getLogger(EmailSender.class.getName()).log(Level.SEVERE, null, ex);
        }
        return false;
    }
}

这是主要内容:

public class Main {

    public static void main(String[] args) {
        String[] to = {"kaleck.vd@gmail.com"};
        if (EmailSender.sendMail("something@yahoo.com", "******", "message to recive", args)){
            System.out.println("The mail has sent");
        }
        else{
            System.out.println("Don't work");
        }
    }
}

这是我的错误信息:

Jan 08, 2016 10:01:49 PM recruitment.system.utils.EmailSender sendMail SEVERE: null javax.mail.AuthenticationFailedException: 534-5.7.14 Please log in via your web browser and 534-5.7.14 then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/answer/78754 w73sm621753wmw.21 - gsmtp

我需要从一个地址(任何类型的地址)发送一封邮件,而不仅仅是 Gmail 或 Yahoo 到另一个地址……可以是任何地址。 我尝试使用该方法,但我不知道我在哪里或做错了什么,因为它不起作用......不仅如此,我尝试发送邮件的所有方法都失败了...... .请告诉我我哪里失败了,我该如何修复才能正常工作。

您需要进入 Gmail 设置并启用 IMAP 访问

看这个link: https://support.google.com/mail/answer/78775?hl=en