有时候-并非总是如此-从Google App Engine / Python 2.7调用Amazon SES时,出现code = (df.col1.str.extractall('(\d+)')[0]+ ' ') \
.sum(level=0).str.strip().rename('code')
name = (df.col1.str.extractall('([a-zA-Z]+)')[0]+ ' ') \
.sum(level=0).str.strip().rename('name')
df_out = pd.concat([code,name],axis=1)
Out[139]:
code name
94 520 XX
111 316 aa
114 NaN Entry
144 325 Sport
146 35 xColor d
166 420 M Sport
167 NaN XX
199 NaN XX
225 645 Ai
错误。
我正在调用Amazon的示例代码,我将在此问题的结尾处粘贴该示例代码,但可以在此处找到: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/examples-send-using-smtp.html
我当然输入了我的Amazon帐户凭证,并使用白名单中的电子邮件地址进行发送,并使用有效地址进行接收。每当我在桌面Python系统上运行该代码时,该代码就可以完美地运行。
这是回溯:
name or service not known
我还没有发现可能导致它在App Engine上失败而不是在其他时候失败的任何事情。这个StackOverflow问题讨论有关为MailGun配置防火墙。
Java Google App Engine won't send email via Mailgun SMTP
我必须打开计费功能来配置防火墙,除非有必要,否则我不想这样做。另外,如果它是防火墙配置错误,为什么有时还能正常工作?
这是Amazon的示例代码,根据我的使用进行了修改。另外,我的SES帐户位于俄勒冈西部2区。
File "/base/data/home/apps/m~/1.4222/emailer_test.py",line 79,in <module>
server = smtplib.SMTP(HOST,PORT)
File "/base/alloc/tmpfs/dynamic_runtimes/python27g/79cf/python27/python27_dist/lib/python2.7/smtplib.py",line 256,in __init__
(code,msg) = self.connect(host,port)
File "/base/alloc/tmpfs/dynamic_runtimes/python27g/79cf/python27/python27_dist/lib/python2.7/smtplib.py",line 316,in connect
self.sock = self._get_socket(host,port,self.timeout)
File "/base/alloc/tmpfs/dynamic_runtimes/python27g/79cf/python27/python27_dist/lib/python2.7/smtplib.py",line 291,in _get_socket
return socket.create_connection((host,port),timeout)
File "/base/alloc/tmpfs/dynamic_runtimes/python27g/79cf/python27/python27_dist/lib/python2.7/socket.py",line 560,in create_connection
for res in getaddrinfo(host,SOCK_STREAM):
gaierror: [Errno -2] Name or service not known
EDIT :似乎SMTP与AppEngine不兼容: Can Google App Engine use a third party SMTP server?