谷歌SMTP不太安全的应用程序

2024-04-18 07:09:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过googlesmtp服务器使用以下简单的python和mailclient发送电子邮件。在

我有点困惑,谷歌把这个脚本标记为不安全,并要求我允许不太安全的应用程序访问发件人的gmail帐户。在

有没有什么方法可以解决这个问题,而不必让不太安全的应用程序访问我的gmail帐户。在

#Make necessary imports

import mailclient

#Craft the message
msg = mailclient.Message("This will be the subject", "This will be the body content", 'sender@gmail.com', 'recipient@domain.com')

#Create server object with gmail

s = mailclient.Server('smtp.gmail.com', '587', 'sender@gmail.com', 'senderpassword', True)

#Send email

s.send(msg)

Tags: the服务器脚本com应用程序电子邮件msg帐户
1条回答
网友
1楼 · 发布于 2024-04-18 07:09:31

很难说,因为Google对他们称之为不安全的应用程序不是很明确,但我猜它们是使用端口25或587的应用程序。在这些端口上,连接最初是在未加密的通道上建立的,只有在发出STARTTLS命令时才会加密。在

所以我想您应该尝试在端口465上直接通过SSL建立连接。我不知道是否可以使用mailclient,但是对于标准库模块,它应该很简单:

import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg['Subject'] = "This will be the subject"
msg['From'] = 'sender@gmail.com'
msg['To'] = [ 'recipient@domain.com' ]
msg.set_content("This will be the body content")

server = smtplib.SMTP_SSL('smtp.gmail.com')
server.login('sender@gmail.com', 'senderpassword')
server.send_message(msg)
server.quit()

相关问题 更多 >