AMD 64bitでssmtpがSEGFAULTする

masayang2010-12-28

やりたいこと

Amazon EC2上で動いているインスタンスから、GMail経由で各種メールを送信したい。定番ではUSE Flagにsslを指定してssmtp.confに

root='''hogehoge@gmail.com'''
mailhub='''smtp.gmail.com:587'''
rewriteDomain=
hostname='''hogehoge@gmail.com'''
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=YES
AuthUser='''hogehoge@gmail.com'''
AuthPass='''password'''
AuthMethod=LOGIN

と記述すればいいのだが、AMD 64bit環境だとlibcでセグメンテーション違反が起きてしまう。いろいろと探したが、解決策なし。

対策

ssmtpを放棄し、USE Flagにmailwrapperつけてmsmtpを導入。mailwrapperのGentoo Packageはやる気がほとんど感じられないもので、/etc/mail/mail.rcを手作業で修正する必要あり。コメントアウトされているmsmtp定義を復活させ、/usr/sbinを/usr/binに書き換えること。

/etc/msmtprcを以下のようにする

defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
 
account default
host smtp.gmail.com
port 587
auth on
user hogehgoe@gmail.com
password yourpasswordhere
from hogehoge
syslog on