【发布时间】:2019-11-24 15:08:42
【问题描述】:
我想使用用户名和随机生成的密码生成帐户。 然而。我无法发送多行邮件。 显示我的问题的最小代码是:
import subprocess
import string
username = Test
randomPassword = abcabc
fromAddr='test@example.com'
toAddr='receive@example.com'
subject='Test Mail'
body='Your Username is ' + username + '\n'+'Your Password is' + randomPassword
cmd='echo '+body+' | mail -s '+subject+' -r '+fromAddr+' '+toAddr
send=subprocess.call(cmd,shell=True)
错误是:
mail: cannot send message: process exited with a non-zero status
/var/log/mail.err 显示如下
[SERVERNAME] sSMTP[9002]: RCPT TO:<[SUBJECT]@[SERVERNAME]> (Domain does not exist: [SERVERNME])
我发现的一个建议是使用
cmd='echo -e ' +body+ [...]
但这并没有解决问题。
有什么建议吗?
【问题讨论】:
-
为什么不使用 Python 库来发送邮件?
-
有一个我们想要使用的已设置邮件服务器,因此我们只需更改 ssmtp 配置中的设置,一切都可以正常运行。我更喜欢使用 Linux 邮件命令。但是,如果使用该方法无法做到这一点,我也可以使用 python 库