Sendmail在configurationSMTP中继后拒绝连接

我在我的家用电脑上安装sendmail,以便与我的networking服务器一起使用。 我已经把它设置为使用我的托pipe公司提供的SMTP服务器。

如果我使用下面的命令,它工作

sendmail -Am -t -v 

然后我input和发送电子邮件。


但是,如果我尝试以下,它不起作用

 sendmail -v [email protected] < test.txt 

TO电子邮件与前面的命令相同,但在这种情况下,我没有指定FROM电子邮件,我认为这是问题所在。

我的猜测是它发送来自用户@本地主机的邮件,导致smtp服务器拒绝它。 如果是这样,我如何使它从[email protected]发送?

我build议,如果您的家庭机器只需要发送电子邮件,而不是接收它,而不是你设置msmtp 。 它提供了发送邮件所需的所有function,而无需进行任何入站处理。 这是一个示例.msmtprc

主机smtp.example.com
用户testing
密码testing通过
来自[email protected]
身份validationlogin

与此同时,我的用户可以发送似乎来自example.com邮件。 如果您的networking服务器用户需要发送邮件,则可以为该用户configuration此function。

你应该能够通过编辑你的/etc/mail/sendmail.cf文件来解决这个问题

 #vi /etc/mail/sendmail.cf 

 FEATURE(`genericstable',`hash -o /etc/mail/genericstable.db')dnl GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl 

下一个

 #vi /etc/mail/genericstable 

 username [email protected] 

所以你可以使它看起来像apache或根发送电子邮件为其他人

 apache [email protected] root [email protected] 

下一个

 #vi /etc/mail/generics-domains 

 subdomain.mydomain.com mydomain.com 

接下来生成新的configuration并重新启动sendmail

 #makemap -r hash genericstable.db < genericstable #m4 sendmail.mc > sendmail.cf #/etc/init.d/sendmail restart 

现在,您应该能够以root或者apache或者您以上定义的方式发送您的电子邮件,并且它将显示在您的收件箱中。

尝试以root或apache进程login

 #echo "test" | sendmail [email protected] 

你会发现发件人是另一个用户名或另一个用户名-2