python - Python3 使用 Smtplib [Yandex] 发送电子邮件
问题描述
我正在尝试使用 yandex 发送电子邮件,但我的功能不起作用。它只是永远等待,也没有错误。这是我的功能:
def send_emails(title,msg):
server = smtplib.SMTP('smtp.yandex.com.tr:465')
server.ehlo()
server.starttls()
server.login(yandex_mail,yandex_pass)
message = 'Subject: {}\n\n{}'.format(title,msg)
server.sendmail(yandex_mail,send_to_email,message)
server.quit()
print('E-mails successfully sent!')
send_emails('Test Mail', 'Yes its a test mail!')
解决方案
我认为你的问题在这里:
server = smtplib.SMTP('smtp.yandex.com.tr:465')
您需要使用smtplib.SMTP_SSL因为与SSL
docs的连接是安全的,还smtplib.SMTP_SSL
可以获得许多参数,第一个是host
第二个是port
和其他参数,但是您现在只需要这两个,您需要分别给出host
和port
,试试这个
def send_emails(title,msg):
server = smtplib.SMTP_SSL('smtp.yandex.com.tr', 465)
...
推荐阅读
- python - 如何将单端口用于 3 个容器而不是 3 个端口 Python-Flask、PostgreSQL 和 Angular8?所以我可以使用 Docker Run 而不是 Docker Compose
- c++ - IMG_Load() 中的 SDL_Texture 无法绘制?
- java - 采集界面
- java - H2 删除并创建别名 to_char 不起作用
- oracle - LAST_ANALYZE 在 dbms_stats.gather_table_stats 之后为空
- css - 仅当页面在 css 中滚动或使用钩子做出反应时才显示滚动条
- java - 创建一个“空壳”罐子
- asp.net - vb 5 秒后重定向到新页面。延迟
- oracle - Oracle中是否有减去日期的功能?
- scala - Play Router:如何添加语言敏感的 URL 重定向规则?