Gramex SMTP 电子邮件问题
Posted
技术标签:
【中文标题】Gramex SMTP 电子邮件问题【英文标题】:Gramex SMTP Email Issue 【发布时间】:2021-06-03 12:18:21 【问题描述】:我必须从 python 函数向多个用户发送一封包含动态内容的电子邮件。
我在 gramex.yaml 中提供了电子邮件详细信息,如下所示
email:
barcode-mail-service:
type: gmail
email: gramex.guide@gmail.com
password: alphaBetaGamma
在我的 python 函数中,我实现了如下邮件功能:
def email_users(_pending_users, approval):
mailer = service.email['barcode-mail-service']
content = []
if approval == 'Approved':
content = [f"Hi obj['user'],\n\n \
Welcome to the Service online portal!"
for obj in
_pending_users.to_dict('r')
]
else:
content = [f"Hi obj['user'],\n\n \
Your request has been rejected by the approver!"
for obj in _pending_users.to_dict('r')
]
to_list = _pending_users['email'].tolist() #gets list of all email ids
for index in range(len(to_list)): #loops over each mail id and sends the email
mailer.mail(
to=to_list[index],
subject=f'Barcode User Access approval',
html=content[index]
)
当我执行上述函数时,出现以下错误:
TimeoutError: [WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:这似乎是防火墙问题。 SMTP 在内部使用端口 25 发送电子邮件。在您的系统上启用(允许)端口 25 并尝试是否可行。您还需要在部署期间在服务器上启用此端口。
注意:请检查您的电子邮件交换机正在使用哪个端口发送电子邮件
You can check this link to enable on Windows OS
【讨论】:
我猜他们实际上并没有尝试连接到端口 25,但我对 Gramex 并不熟悉。该帖子可能应该包含回溯和任何相关的配置文件,以帮助我们查看他们尝试连接的位置。 @tripleee - Gramex 是一个用于构建数据应用程序的低代码平台。参考(learn.gramener.com/guide)。此问题与电子邮件服务消耗有关(learn.gramener.com/guide/email/#send-email) 对,所以barcode-mail-service
的定义如果是Gmail服务应该应该指定端口587;但我们无法从问题中的信息中看出。
正确,如果中继是使用 SMTPS 完成的。完全同意@tripleee以上是关于Gramex SMTP 电子邮件问题的主要内容,如果未能解决你的问题,请参考以下文章