我正在家用电脑上设置 sendmail 以用于我的网络服务器。我已将其设置为使用托管公司提供的 SMTP 服务器。
如果我使用以下命令,它作品
sendmail -Am -t -v
然后我输入收件人和发件人的电子邮件。
但如果我尝试以下操作,不起作用。
sendmail -v [email protected] < test.txt
收件人电子邮件与之前的命令中的相同,但在这种情况下我没有指定发件人电子邮件,我认为这就是问题所在。
我猜是它从 user@localhost 发送邮件导致 smtp 服务器拒绝它。如果是这样,我该如何让它从[电子邮件保护]?
答案1
答案2
你应该能够通过编辑/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 或 root 以其他人的身份发送了电子邮件
apache [email protected]
root [email protected]
下一个
#vi /etc/mail/generics-domains
添加
subdomain.mydomain.com
mydomain.com
接下来生成新的配置并重新启动 sendmail
#makemap -r hash genericstable.db < genericstable
#m4 sendmail.mc > sendmail.cf
#/etc/init.d/sendmail restart
现在您应该能够以 root 或 apache 或任何您上面定义的用户身份发送您的电子邮件,并且它将在您的收件箱中显示来自他们的电子邮件。
以 root 或 apache 进程身份登录时尝试
#echo "test" | sendmail [email protected]
您应该发现发件人是 anotherusername 或 anotherusername-2