在Godaddy共享主机中使用Python脚本发送电子邮件

2024-04-30 05:36:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用我的Godaddy共享托管帐户(我知道!)发送电子邮件(通过联系人表单)。为了让它正常工作,我把它简化了。我有SSH访问权限。脚本位于我的cgi-bin文件夹中。from电子邮件地址是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), "\r\n")

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

我得到以下错误:

^{pr2}$

我被告知Godaddy的smtp服务器设置是正确的,并尝试了一些组合阅读其他关于Stackoverflow的类似问题。在


Tags: tofromimport服务器stringbin电子邮件地址
2条回答

它现在起作用了。据我所知,解决方案是在Godaddy Myaccount而不是cpanel中设置电子邮件,并确保MX记录是正确的,并对smtp模块代码进行一些更改。在

#!/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), "\r\n")

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

您可以使用带有Python脚本的sendgridapi来发送电子邮件,只需编写一个与数据库连接的脚本,并执行您想发送的任何函数。然后将这个python脚本托管在heroku上,并使用heroku scheduler附加组件使这些脚本调度运行。在

有关运行和托管脚本的信息,请参见this link

相关问题 更多 >