191

当我在 ubuntu 上搜索配置 sendmail 时,我没有得到任何明确的答案,他们每个人都假设我知道他们在说什么,

我只想要基本配置来启用电子邮件发送,基本上我将使用它与谷歌应用引擎来启用从开发服务器发送邮件。

我已经这样做了:

sudo apt-get install sendmail

然后

sudo sendmailconfig

但我不知道最后一个实际上做了什么。

4

3 回答 3

150

当您输入 时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

以下将允许您将 smtp 中继添加到 sendmail:

#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
于 2012-04-28T00:35:45.733 回答
35

经过一次小的编辑后,我得到了最佳答案(尚无法回复)

这对我不起作用:

FEATURE('authinfo','hash /etc/mail/auth/client-info')dnl

每个字符串的第一个单引号应更改为反引号 (`),如下所示:

FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl

更改后我运行:

sudo sendmailconfig

我在做生意:)

于 2012-10-09T20:46:33.637 回答
14

结合上面的两个答案,我终于让它工作了。请注意,每个字符串的第一个单引号是文件 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
于 2014-01-08T17:41:25.363 回答