簡體   English   中英

“gaierror:[Errno -5] 沒有與主機名關聯的地址”,同時從 Azure 數據塊 python 筆記本發送 email

[英]"gaierror: [Errno -5] No address associated with hostname" while sending email from Azure databricks python notebook

我正在嘗試通過我公司的 SMTP 服務器從我的 Azure 數據塊筆記本發送郵件。 我可以在我的本地機器上運行相同的腳本。 從本地運行腳本時正在發送郵件。

但是,當我從數據塊運行腳本時,出現錯誤No address associated with hostname

劇本 -

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

server = smtplib.SMTP("COMPANY SMTP SERVER", COMPANY_SMTP_PORT)
fromaddr = "username@companyname.com"
toaddr = "username@companyname.com"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Email test"
body = "test mail"
msg.attach(MIMEText(body, 'plain'))
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)

錯誤回溯 -

gaierror                                  Traceback (most recent call last)
<command-2889814627634467> in <module>
      3 from email.mime.text import MIMEText
      4 
----> 5 server = smtplib.SMTP("COMPANY SMTP SERVER", COMPANY_SMTP_PORT)
      6 fromaddr = "username@companyname.com"
      7 toaddr = "username@companyname.com"

/usr/lib/python3.8/smtplib.py in __init__(self, host, port, local_hostname, timeout, source_address)
    253 
    254         if host:
--> 255             (code, msg) = self.connect(host, port)
    256             if code != 220:
    257                 self.close()

/usr/lib/python3.8/smtplib.py in connect(self, host, port, source_address)
    337             port = self.default_port
    338         sys.audit("smtplib.connect", self, host, port)
--> 339         self.sock = self._get_socket(host, port, self.timeout)
    340         self.file = None

任何人都可以提供一些關於可能是什么問題的見解,我該如何糾正它?

COMPANY SMTP SERVER字符串替換為 email 服務器的實際主機名。

能夠通過使用gmail smtp服務器發送郵件來解決。

Databricks是我公司outlook郵件服務器的外部環境,所以通過公司smtp服務器發送郵件需要白名單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM