代码之家  ›  专栏  ›  技术社区  ›  Dan fatihk

smtplib无法连接到mailgun

  •  1
  • Dan fatihk  · 技术社区  · 6 年前

    我试图用python发送电子邮件,但当我尝试使用smtplib时,它只是挂起,直到超时。我肯定我漏掉了一些显而易见的东西,或者这是由防火墙问题引起的。这是为我重现问题的最小代码

    from smtplib import SMTP
    smtp = SMTP("smtp.mailgun.org", port=25, local_hostname=None, timeout=30)
    

    我错过什么了吗?或者有什么方法告诉smtp不要验证ssl/tls?

    如果我使用请求,我可以让Mailgun毫无问题地发送邮件:

    import requests
    
    key = 'MY_API_KEY'
    recipient = 'recipient@domain.com'
    domain = 'sandboxblablablaredacted.mailgun.org
    
    request_url = r'https://api.mailgun.net/v3/{domain}/messages'
    request = requests.post(request_url, 
                            auth=('api', key), 
                            data={
                                'from': 'email@address.com',
                                'to': recipient,
                                'subject': 'Hello',
                                'text': 'Hello from Mailgun'
                            },
                            verify=False,
                           )
    
    print(f'Status: {request.status_code}')
    print(f'Body:   {request.text}')
    

    注意 verify=False 。有什么关于smtplib为什么不能工作的建议吗?

    0 回复  |  直到 6 年前
    推荐文章