shared-hosting - 在Godaddy共享主机中,使用 python 脚本发送电子邮件

  显示原文与译文双语对照的内容

我正在尝试发送一个电子邮件( 通过联系人表单) 在我的Godaddy共享主机帐户( 我知道) 。 为了使它工作起来,我已经简化了它。 我有SSH访问权限。脚本位于我的cgi-bin文件夹中。 发件人电子邮件地址是Godaddy域名之一。 我已经在测试家用服务器( 使用gmail服务器的smtp ) 上工作了。


#!/usr/bin/python
import smtplib
import string, sys
import cgitb
cgitb.enable()
sys.stderr = sys.stdout

print 'Content-Type: text/plain'
print
HOST ="relay-hosting.secureserver.net"

FROM ="myemail@mygodaddydomain.co.uk"

TO ="mygmail@gmail.com"

SUBJECT ="Test"

BODY ="Hello"

body = string.join((
"From: %s" % FROM,
"To: %s" % TO,
"Subject: %s" % SUBJECT,
"",
 BODY),"rn")

print body
server = smtplib.SMTP(HOST, 25)
server.sendmail(FROM, [TO], body)

我得到以下错误:


Traceback (most recent call last):
 File"test2.py", line 28, in <module>
 server = smtplib.SMTP(HOST, 25)
 File"/usr/lib64/python2.6/smtplib.py", line 239, in __init__
 (code, msg) = self.connect(host, port)
 File"/usr/lib64/python2.6/smtplib.py", line 295, in connect
 self.sock = self._get_socket(host, port, self.timeout)
 File"/usr/lib64/python2.6/smtplib.py", line 273, in _get_socket
 return socket.create_connection((port, host), timeout)
 File"/usr/lib64/python2.6/socket.py", line 567, in create_connection
 raise error, msg
error: [Errno 110] Connection timed out

我已经告诉Godaddy服务器设置正确,并且尝试了一些阅读Stackoverflow的类似问题。

时间: 作者:

现在可以解决的问题是,在to中设置电子邮件,并确保Myaccount记录正确并对 smtp MODULE 代码进行了更改。


#!/usr/bin/python
import smtplib
import string, sys
import cgitb
cgitb.enable()
sys.stderr = sys.stdout

print 'Content-Type: text/plain'
print

FROM ="email@mygodaddydomain.com"

TO ="myemail@gmail.com"

SUBJECT ="Test"

BODY ="Hello"

body = string.join((
"From: %s" % FROM,
"To: %s" % TO,
"Subject: %s" % SUBJECT,
"",
 BODY),"rn")

print body
server = smtplib.SMTP()
server.connect()
server.sendmail(FROM, TO, body)

作者:

你可以使用 SendGrid api和 python 脚本发送电子邮件,只需编写一个与你的数据库连接的脚本。 然后在heroku上托管这个 python 脚本,并让这个脚本在heroku计划程序上添加。

请参见这里链接用于运行和托管脚本

...