asterCC, hosted call center solution based asterisk
»
zh
»
用途和案例
»
linux下如何配置postfix使用smtp向外发送邮件
您的足迹:
显示页面
修订记录
最近更改
网站地图
登录
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
===== Linux下如何配置postfix使用SMTP向外发送邮件 ===== ==== 安装mailx/postfix ==== 测试环境选为Ubuntu 14.04.X 和 CemtOS6.X。 <code>1. Ubuntu下打开shell命令终端依次输入如下命令: sudo apt-get install heirloom-mailx sudo apt-get install postfix 2. CentOS下打开shell命令终端依次输入如下命令: yum install mailx.x86_64 yum install postfix.x86_64 </code> ==== 以GMAIL为例创建本地SSL认证证书和密钥数据 ==== 打开Linux shell命令终端,依次输入并执行如下命令: <code>mkdir .certs certutil -N -d .certs echo -n | openssl s_client -connect smtp.gmail.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /$PATH$/.certs/gmail.crt certutil -A -n "Google Internet Authority" -t "C,," -d /$PATH$/.certs -i set /$PATH$/.certs/gmail.crt (以上$PATH$替换为实际路径)</code> <note tip>certutil可能系统会返回找不到命令错误,可根据提示命令安装。</note> ==== 修改mailx的配置文件 ==== Ubuntu下修改 /etc/nail.rc,CentOS下修改 /etc/mail.rc,文件结尾回车后增加如下内容: <code>set smtp-use-starttls(使用TLS/STARTTLS 端口:587时增加该条件) set ssl-verify=ignore set nss-config-dir=/$PATH$/.certs ($PATH$替换为实际路径) set from=用户名@astercc.com set smtp=smtps://smtp.gmail.com:465(gmail 使用TLS/STARTTLS 端口587可改为,set smtp=smtp://smtp.gmail.com:587) set smtp-auth-user=用户名@astercc.com set smtp-auth-password=密码 set smtp-auth=login</code> 如果需要多个邮箱的账号并存在配置文件中,在发送时提供选择还有另外一种写法如下: <code>account gmail { set smtp-use-starttls(使用TLS/STARTTLS 端口:587时增加该条件) set ssl-verify=ignore set nss-config-dir=/$PATH$/.certs ($PATH$为路径) set from=用户名@astercc.com set smtp=smtps://smtp.gmail.com:465(gmail 使用TLS/STARTTLS 端口587可改为,set smtp=smtps://smtp.gmail.com:587) set smtp-auth-user=用户名@astercc.com set smtp-auth-password=密码 set smtp-auth=login }</code> 这种写法需要在mail/mailx命令后增加-A参数引用。 ==== 配置文件增加的参数说明 ==== ^ **参数** ^ **说明** ^ |set smtp-use-starttls |gmail使用TLS/STARTTLS| |ssl-verify |使用SSL| |nss-config-dir |本地SSL认证证书和密钥数据路径| |from |发送的邮件地址| |smtp |发生的外部SMTP服务器的地址| |smtp-auth-user |外部SMTP服务器认证的用户名| |smtp-auth-password |外部SMTP服务器认证的用户密码| |smtp-auth |邮件认证的方式| 确定配置参数,后保存文件后,就可以使用mail/mailx命令发送邮件了。 ==== 发送测试邮件 ==== 命令行使用如下命令发送邮件 <code>mail/mailx (-vcabSA) -s "Test mail" address</code> 回车后命令行输入邮件内容,内容输入完毕回车后ctrl+d发出邮件内容,多个收件人之间用逗号分隔,你也可以通过管道(|)和重定向符(<)获取要发送邮件内容。 <code>-s 指定邮件主题。 -v 列出讯息,例如送信的地点、状态等等。 -c 抄送邮件副本的用户列表。 -a 文件指定的文件附加到邮件。 -b 发送密件副本列出,多个名单应该是一个逗号分隔的名称列表。 -S 设置内部选项的变量(如上面配置文件增加的内容可由 -S set smtp-auth-user=用户名@astercc.com指定)。 -A 多个SMTP账号时引用账号名(即配置文件里account后的名字 )。</code> <note important>Resolving host smtp.gmail.com . . . done. Connecting to 173.194.72.108:587 . . . connected. Error initializing NSS: Unknown error -8015. "/root/dead.letter" 11/300 . . . message not sent. 这类错误可以理解成是没有证书或创建的证书未生效。</note> <note tip>SMTP发送邮件遇到535错误多为账户或密码错误。有的邮箱需要将密码改为SMTP授权码(163邮箱遇到此类问题)。</note> <note>SMTP错误码详解参考链接 [[http://www.aiuxian.com/article/p-2648073.html]]</note>
zh/用途和案例/linux下如何配置postfix使用smtp向外发送邮件.1475056089.txt.gz
· 最后更改: 2017/12/12 03:11 (外部编辑)
显示页面
修订记录
反向链接
回到顶部