无法使用Java通过Gmail发送电子邮件

刘易斯·福尔摩斯

我无法通过Gmail发送带有Java代码的电子邮件。

代码:

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class b {

    public static void sendMessage(String to, String from, String subject, String text){



        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "false");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "587");
        props.put("mail.transport.protocol", "smtp");


        Session session = Session.getInstance(props, null);

        try {

            Message message = new MimeMessage(session);
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse(to));
            message.setSubject(subject);
            message.setText(text);

            Transport transport = session.getTransport("smtp");
            String mfrom = "fromemail";
            transport.connect("smtp.gmail.com", mfrom, "fromemailpassword");
            transport.sendMessage(message, message.getAllRecipients());

            System.out.println("Done");

        } catch (MessagingException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

我得到了错误:

javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. b3sm24500496wiw.22 - gsmtp

我试图将电子邮件从Gmail帐户发送到Gmail帐户,但没有成功。我需要为我的企业电子邮件发送时事通讯等。

编辑:

我将一段代码更改为此:

        Properties properties = new Properties();
        properties.put("mail.smtp.host", "smtp.gmail.com");
        properties.put("mail.smtp.port", "25");
        properties.put("mail.smtp.auth", "true");   //make it true
        properties.put("mail.smtp.starttls.enable", "true"); //make it true
        properties.put("mail.smtp.ssl.trust", "smtp.gmail.com");
        //Authentication is needed use your gmail user and password"smtp.gmail.com"
        Authenticator auth = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("[email protected]", "password");
            }
        };
        Session session = Session.getInstance(properties, auth);

现在,我得到了异常:javax.mail.AuthenticationFailedException

斯蒂芬·C

我认为问题在于您的财产是矛盾的。

您将SMTP端口设置为587,(根据此页面)是SMTP over TLS的服务器端口。但随后您将设置mail.smtp.starttls.enablefalse

自然,Google SMTP服务器很困惑……它告诉您它希望客户端发送STARTTLS命令。

解决方案:

  • 将该mail.smtp.starttls.enable属性更改true

  • 或者,将mail.smtp.port属性更改465(SSL端口)

您没有使用“香草” SMTP的选择……如果您关心确保电子邮件流量的安全,那么这是一件好事。


根据此资源,您还需要启用身份验证。(该页面包含大量的Java示例代码...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何使用Gmail REST API发送电子邮件

来自分类Dev

无法通过Gmail API发送电子邮件给多个发件人

来自分类Dev

无法通过SSL通过SMTP发送电子邮件

来自分类Dev

使用Flask-Mail通过Gmail-socket.gaierr发送电子邮件

来自分类Dev

通过gmail发送电子邮件的属性

来自分类Dev

使用Java批注通过Spring发送电子邮件

来自分类Dev

使用gmail发送电子邮件:操作已超时

来自分类Dev

从asp.net使用gmail发送电子邮件

来自分类Dev

如何使用python通过gmail发送电子邮件?

来自分类Dev

通过gmail发送电子邮件

来自分类Dev

如何通过Gmail使用C#发送电子邮件

来自分类Dev

使用Postfix通过Java发送电子邮件

来自分类Dev

通过Gmail发送电子邮件时出错

来自分类Dev

无法通过gmail发送电子邮件

来自分类Dev

通过gmail和python发送电子邮件

来自分类Dev

使用mailR通过Gmail发送电子邮件时出错

来自分类Dev

Java通过gmail发送电子邮件

来自分类Dev

无法通过Indy发送电子邮件(通过GMail)。协议版本不匹配

来自分类Dev

如何使用Gmail / Yahoo / Outlook通过Smalltalk应用程序发送电子邮件

来自分类Dev

春季:通过Gmail发送电子邮件

来自分类Dev

wamp sendmail无法通过smtp.gmail.com发送电子邮件:587

来自分类Dev

在Java中使用Gmail API发送电子邮件

来自分类Dev

无法通过Indy发送电子邮件(通过GMail)。协议版本不匹配

来自分类Dev

使用java spring和GMail发送电子邮件

来自分类Dev

PHPMailer 无法通过组织使用的 gmail SMTP 服务发送电子邮件

来自分类Dev

通过 gmail c# 发送电子邮件错误 #10051 网络无法访问

来自分类Dev

无法通过python发送和发送电子邮件

来自分类Dev

通过 gmail 发送电子邮件,无需其他邮件服务器,使用 postfix

来自分类Dev

无法使用 Gmail 使用 PHPMailer 发送电子邮件(无法连接服务器)

Related 相关文章

  1. 1

    如何使用Gmail REST API发送电子邮件

  2. 2

    无法通过Gmail API发送电子邮件给多个发件人

  3. 3

    无法通过SSL通过SMTP发送电子邮件

  4. 4

    使用Flask-Mail通过Gmail-socket.gaierr发送电子邮件

  5. 5

    通过gmail发送电子邮件的属性

  6. 6

    使用Java批注通过Spring发送电子邮件

  7. 7

    使用gmail发送电子邮件:操作已超时

  8. 8

    从asp.net使用gmail发送电子邮件

  9. 9

    如何使用python通过gmail发送电子邮件?

  10. 10

    通过gmail发送电子邮件

  11. 11

    如何通过Gmail使用C#发送电子邮件

  12. 12

    使用Postfix通过Java发送电子邮件

  13. 13

    通过Gmail发送电子邮件时出错

  14. 14

    无法通过gmail发送电子邮件

  15. 15

    通过gmail和python发送电子邮件

  16. 16

    使用mailR通过Gmail发送电子邮件时出错

  17. 17

    Java通过gmail发送电子邮件

  18. 18

    无法通过Indy发送电子邮件(通过GMail)。协议版本不匹配

  19. 19

    如何使用Gmail / Yahoo / Outlook通过Smalltalk应用程序发送电子邮件

  20. 20

    春季:通过Gmail发送电子邮件

  21. 21

    wamp sendmail无法通过smtp.gmail.com发送电子邮件:587

  22. 22

    在Java中使用Gmail API发送电子邮件

  23. 23

    无法通过Indy发送电子邮件(通过GMail)。协议版本不匹配

  24. 24

    使用java spring和GMail发送电子邮件

  25. 25

    PHPMailer 无法通过组织使用的 gmail SMTP 服务发送电子邮件

  26. 26

    通过 gmail c# 发送电子邮件错误 #10051 网络无法访问

  27. 27

    无法通过python发送和发送电子邮件

  28. 28

    通过 gmail 发送电子邮件,无需其他邮件服务器,使用 postfix

  29. 29

    无法使用 Gmail 使用 PHPMailer 发送电子邮件(无法连接服务器)

热门标签

归档