Python3使用Smtplib发送电子邮件[Yandex]

时间:2018-06-30 18:05:31

标签: python python-3.x smtp smtp-auth

我正在尝试使用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!')

1 个答案:

答案 0 :(得分:1)

我认为您的问题在这里

server = smtplib.SMTP('smtp.yandex.com.tr:465')

您需要使用smtplib.SMTP_SSL,因为与SSL docs的连接是安全的,而且smtplib.SMTP_SSL也有很多参数,第一个是host,第二个是{{ 1}}和其他参数,但是您现在只需要这两个参数,就需要分别给porthost进行尝试

port