mail(mailx)发送邮件
05 Jun 2011mail (mailx) 指令所发出的邮件未经密码验证, 某些邮件服务器 (如:Gmail) 不接受未经验证的邮件, 因此我们必须加以设定, 让 mailx 透过 smtp auth 发送邮件.
环境:
Fedora 14: mailx-12.5-1
Fedora 9: mailx-8.1.1-48, nail-12.3-4
安裝
Fedora 14: yum install mailx
Fedora 9: yum install mailx nail
基本设置
vi ~/.mailrc
set smtp=smtp://my.smtp.host:25
set smtp-auth=login
set smtp-auth-user=myaccount
set smtp-auth-password=mysecret
发送邮件
echo "this is a test" | mail -v -s "test" someone@somewhere.com
多账号设定
mkdir ~/.mozilla_nss_shared_db
在裝有 Firefox 的 Linux 电脑, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert.db 与 key.db 复制到 ~/.mozillanssshared_db
vi ~/.mailrc
account starttls {
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=~/.mozilla_nss_shared_db
set from="myaccount@my.smtp.host(myname)"
set smtp=smtp://my.smtp.host:25
set smtp-auth=login
set smtp-auth-user=myaccount
set smtp-auth-password=mysecret
}
account gmail {
set ssl-verify=ignore
set nss-config-dir=~/.mozilla_nss_shared_db
set from="myaccount@gmail.com(myname)"
set smtp=smtps://smtp.gmail.com:465
set smtp-auth=login
set smtp-auth-user=myaccount
set smtp-auth-password=mysecret
}
透过 Gmail 发送邮件
echo "this is a test" | mail -v -A gmail -s "test" someone@somewhere.com
注: Fedora 9 使用 nail 指令取代 mail; Fedora 9 不需设置 nss-config-dir