为了配置gitlab服务器,呕心沥血,废寝忘食,千辛万苦才搞出来,还不能发送邮件,因此我绝对挖一下,问度娘若干遍才配置好,过程如下。

一、准备工作:安装postfix

请参考文章:
http://www.sunhaojie.com/?p=66
二、安装
wget ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-2.1.25.tar.gz
tar zxvf cyrus-sasl-2.1.25.tar.gz
cd cyrus-sasl-2.1.25
./configure –disable-anon -enable-plain –enable-login  –with-authdaemond
make
make install
echo “/usr/local/lib” >> /etc/ld.so.conf
ldconfig
ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
三、配置
vi /usr/local/lib/sasl2/smtpd.conf
这个文件是新增文件,在其中添加内容:
pwcheck_method:saslauthd
log_level: 3
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux
四、测试
启动
service saslauthd start
/usr/sbin/testsaslauthd -u gitlab -p gitlab
显示:0: OK “Success.”就是配置正确了
备注:这里是使用当前机器的用户名验证的,所以-u user -p password自己替换一下
五、postfix配置修改
vim /etc/postfix/main.cf
再文件底部添加
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name=smtpd
smtpd_banner=$myhostname ESMTP “SMTP Auth Required.”
broken_sasl_auth_clients=yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_security_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
message_size_limit = 15728640
六、测试:
 
登录:telnet 127.0.0.1 25
认证命令:auth login
用户名:Z2l0bGFi  注:printf “gitlab” |openssl base64  编码
密码:Z2l0bGFi
发送人:mail from: <admin@yongmayi.com>
收件人:rcpt to: <15011406950@sina.cn>
数据开始:data
标题:Subject: How are you?
内容:This is a test Mail. Ignore it!

结束符:.


完成了,快去show一下吧。