gpt4 book ai didi

java - Outlook 禁止使用 R 中的 mailR 对某些电子邮件地址进行身份验证

转载 作者:行者123 更新时间:2023-12-02 04:59:04 27 4
gpt4 key购买 nike

我正在尝试使用我公司电子邮件中的 mailR 在 R 中自动发送电子邮件(它不允许我标记 mailR,所以我用类似的包 sendmailR 标记它)。

我使用了这篇文章中的代码 ( Send authenticated mails via Outlook through R using mailR package ),虽然它适用于我的学校 Outlook 电子邮件,但不适用于我的公司:

send.mail(from = "me@companydomain.com",
to = c("coworker@companydomain.com"),
subject = "Test Email",
body = "Hi Coworker! Did this email send?",
authenticate = TRUE,
smtp = list(host.name = "smtp.office365.com",
port = 587,
user.name = "me@companydomain.com",
passwd = "Password1",
sls = TRUE,
tls = TRUE),
debug = TRUE)

我 100% 确定我使用了正确的用户名、密码等,但仅在使用我的公司电子邮件时收到此错误消息:

org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.office365.com:587
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1410)
at org.apache.commons.mail.Email.send(Email.java:1437)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at RJavaTools.invokeMethod(RJavaTools.java:386)
Caused by: javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful [MN2PR05CA0017.namprd05.prod.outlook.com]

at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:892)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:814)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:728)
at javax.mail.Service.connect(Service.java:386)
at javax.mail.Service.connect(Service.java:245)
at javax.mail.Service.connect(Service.java:194)
at javax.mail.Transport.send0(Transport.java:253)
at javax.mail.Transport.send(Transport.java:124)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1400)
... 6 more
NULL
Error: EmailException (Java): Sending the email to the following server failed : smtp.office365.com:587

最后,因为我收到此错误,所以我打开了调试,这是它的报告。据我所知,我的电子邮件第一次经过身份验证并连接到服务器,但最后第二次身份验证失败。据我所知,除非幕后发生了某些事情,否则我们没有两因素身份验证。

DEBUG: JavaMail version 1.5.2
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: need username and password for authentication
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.office365.com", port 587, isSSL false
220 MN2PR05CA0017.outlook.office365.com Microsoft ESMTP MAIL Service ready at Fri, 31 May 2019 12:15:26 +0000
DEBUG SMTP: connected to host "smtp.office365.com", port: 587

EHLO WLPC0ER8VM.wks.companydomain.com
250-MN2PR05CA0017.outlook.office365.com Hello [50.205.156.92]
250-SIZE 157286400
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 SMTPUTF8
DEBUG SMTP: Found extension "SIZE", arg "157286400"
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "DSN", arg ""
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "BINARYMIME", arg ""
DEBUG SMTP: Found extension "CHUNKING", arg ""
DEBUG SMTP: Found extension "SMTPUTF8", arg ""
STARTTLS
220 2.0.0 SMTP server ready
EHLO WLPC0ER8VM.wks.companydomain.com
250-MN2PR05CA0017.outlook.office365.com Hello [50.205.156.92]
250-SIZE 157286400
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-AUTH LOGIN XOAUTH2
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 SMTPUTF8
DEBUG SMTP: Found extension "SIZE", arg "157286400"
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "DSN", arg ""
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN XOAUTH2"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "BINARYMIME", arg ""
DEBUG SMTP: Found extension "CHUNKING", arg ""
DEBUG SMTP: Found extension "SMTPUTF8", arg ""
DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM
DEBUG SMTP: AUTH LOGIN command trace suppressed
DEBUG SMTP: AUTH LOGIN failed

我希望能够发送这些自动电子邮件,同时仍保持安全性。这可能吗?如果可能的话怎么办?我知道错误提到了 Java 中的东西,但我不知道,所以也许这就是关键?谢谢!

最佳答案

试试这个:

send.mail(from = "me@companydomain.com",
to = c("coworker@companydomain.com"),
subject = "Test Email",
body = "Hi Coworker! Did this email send?",
smtp = list(host.name = "companydomain.mail.protection.outlook.com", port = 25, user.name = "me@companydomain.com", passwd = "Password1"),
authenticate = TRUE,
debug = TRUE)

请注意,我已将 SMTP 主机名从 smtp.office365.com 更改为 companydomain.mail.protection.outlook.com,并设置 port = 25

我是从 Microsoft 的 Office 365 文档页面了解到这一点的。

关于java - Outlook 禁止使用 R 中的 mailR 对某些电子邮件地址进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56395261/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com