Python 无法通过 iRedMail 发送电子邮件

Posted

技术标签:

【中文标题】Python 无法通过 iRedMail 发送电子邮件【英文标题】:Python cannot send email via iRedMail 【发布时间】:2016-03-13 17:44:06 【问题描述】:

我已经在我的邮件服务器上安装了 iRedEmail。现在它有默认证书。当我使用普通的电子邮件客户端时,它会要求我信任邮件服务器的证书,然后开始从邮件服务器接收/发送电子邮件

但是如果我编写自己的 python 程序来发送电子邮件,那么我不知道如何像电子邮件客户端那样做同样的事情。目前python给出错误“服务器配置问题”

SMTPserver = 'smtp.xxxx.com
SMTPport = 587
sender =     'info@xxx.com'
destination = ['testgmailid@gmail.com']

USERNAME = "info@xxxx.com"
PASSWORD = "1234"

text_subtype = 'plain'

subject="Sent from Python"

import sys
import os
import re

from smtplib import SMTP       
from email.MIMEText import MIMEText

try:
    msg = MIMEText(content, text_subtype)
    msg['Subject']=       subject
    msg['From']   = sender 

    conn = SMTP(SMTPserver,SMTPport)
    conn.set_debuglevel(True)
    conn.ehlo()
    conn.starttls()
    conn.login(USERNAME, PASSWORD)
    try:
        conn.sendmail(sender, destination, msg.as_string())
    finally:
        conn.close()

except Exception, exc:
    sys.exit( "mail failed; %s" % str(exc) ) # give a error message

【问题讨论】:

没有您的代码,我们无法真正帮助您... 抱歉,添加了编码。但这不是代码问题。似乎我正在运行python代码的机器,我应该添加证书或以某种方式将邮件服务器的证书传递给python。我不知道 【参考方案1】:

所以问题是有两个服务没有运行

以下是这两种服务。启动这两个服务的那一刻,python 程序就能够发送电子邮件。第一个服务与postfix的策略有关

我刚刚在提示符下输入了以下命令

/etc/init.d/postfix-cluebringer restart

并在提示符下键入以下命令

/etc/init.d/amavis restart

【讨论】:

以上是关于Python 无法通过 iRedMail 发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

在单独的服务器上将 Laravel 连接到 iRedMail

要求:安装 iRedMail 时 Centos 7 上的 python(abi) = 3.6

无法使用 Redmine 应用程序验证 iRedmail Ldap 邮件帐户

无法通过HAProxy登录roundcube

邮件服务器拒绝 MailGun 发送的邮件(发往它控制的域)

检查安装的 iRedMail 版本