当我在ubuntu上搜索配置sendmail时,我没有得到任何明确的答案,每个人都认为我知道他们在说什么,
我只想要基本配置来启用电子邮件发送,基本上我会将它与谷歌应用引擎一起用来启用从开发服务器发送邮件。
我已经这样做了:
sudo apt-get install sendmail
然后
sudo sendmailconfig
但我不知道最后一个人到底做了什么。
答案 0 :(得分:138)
当您输入sudo sendmailconfig
时,系统应提示您配置sendmail。
作为参考,配置期间更新的文件位于以下位置(如果您想手动更新它们):
/etc/mail/sendmail.conf
/etc/cron.d/sendmail
/etc/mail/sendmail.mc
您可以通过在命令行中键入以下内容来测试sendmail以查看它是否已正确配置和设置:
$ echo "My test email being sent from sendmail" | /usr/sbin/sendmail myemail@domain.com
以下将允许您向sendmail添加smtp中继:
#Change to your mail config directory:
cd /etc/mail
#Make a auth subdirectory
mkdir auth
chmod 700 auth
#Create a file with your auth information to the smtp server
cd auth
touch client-info
#In the file, put the following, matching up to your smtp server:
AuthInfo:your.isp.net "U:root" "I:user" "P:password"
#Generate the Authentication database, make both files readable only by root
makemap hash client-info < client-info
chmod 600 client-info
cd ..
将以下行添加到sendmail.mc,但之前 MAILERDEFINITIONS
。确保更新smtp服务器。
define(`SMART_HOST',`your.isp.net')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/auth/client-info.db')dnl
调用创建sendmail.cf(或者运行make -C /etc/mail
):
m4 sendmail.mc > sendmail.cf
重新启动sendmail守护程序:
service sendmail restart
答案 1 :(得分:35)
经过一次小编辑后,我得到了最佳答案(无法回复)
这对我不起作用:
FEATURE('authinfo','hash /etc/mail/auth/client-info')dnl
每个字符串的第一个单引号应该改为反引号(`),如下所示:
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl
改变后我跑:
sudo sendmailconfig
我在做生意:)。
答案 2 :(得分:13)
结合上面的两个答案,我终于让它发挥作用。请注意,每个字符串的第一个单引号是sendmail.mc文件中的反引号(`)。
#Change to your mail config directory:
cd /etc/mail
#Make a auth subdirectory
mkdir auth
chmod 700 auth #maybe not, because I cannot apply cmd "cd auth" if I do so.
#Create a file with your auth information to the smtp server
cd auth
touch client-info
#In the file, put the following, matching up to your smtp server:
AuthInfo:your.isp.net "U:root" "I:user" "P:password"
#Generate the Authentication database, make both files readable only by root
makemap hash client-info < client-info
chmod 600 client-info
cd ..
#Add the following lines to sendmail.mc. Make sure you update your smtp server
#The first single quote for each string should be changed to a backtick (`) like this:
define(`SMART_HOST',`your.isp.net')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl
#run
sudo sendmailconfig