使用mailx和gmail SMTP证书的发件人电子邮件

时间:2017-03-18 19:52:55

标签: bash smtp gmail postfix mailx

我写了一个非常简单的脚本,使用mailx发送一些电子邮件。该脚本工作正常,但我尝试使用不同的发件人电子邮件地址,我已经尝试了几乎所有内容并且不适合我。我觉得gmail证书会以某种方式覆盖我定义为发件人的任何内容。

这是代码:

for i in ${EMAILS[@]}; do
    mailx -s "Let me introduce myself" -r "Company <company@company.com>" -S replyto="company@company.com" $i <<eof
    Hello World,

    I'm an automate email 

    eof
done

每次我收到电子邮件时,发件人的电子邮件都是&#34;公司mypersonalgmail@gmail.com"。

我在/ etc / postfix上的main.cf文件的末尾添加了这些行

relayhost = [smtp.gmail.com]:587 
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt

最后,我用我的个人Gmail信息(登录名+密码)创建了/ etc / postfix / sasl_passwd文件。

非常感谢任何形式的帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。我刚刚为我的个人电子邮件帐户添加了一个新域名,现在我可以使用-r选项发送包含不同域名的电子邮件。

此代码也有效:

echo "This is the message body and contains the message" | mailx -v -n -r "x@domain.com" -s "This is the subject" -S smtp="smtp.server:port" -S smtp-use-starttls -S ssl-verify=ignore  -S smtp-auth-user="user@domain.com" -S smtp-auth-password="pasword" -S ssl-verify=ignore to_email@domain.com