OS のものは SMTP AUTH というか SASL には対応していないので, コンパイルするぅ
$ wget --passive-ftp ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.13.7.tar.gz $ cd sendmail-8.13.7 $ cp devtools/Site/site.config.m4.sample devtools/Site/site.config.m4 $ vi devtools/Site/site.config.m4
define(`confLDOPTS', `-R/usr/local/lib') define(`confMAPDEF', `-DNEWDB -DNDBM -DNIS -DNISPLUS -DMAP_REGEX') APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.2/lib -R/usr/local/BerkeleyDB.4.2/lib') <--実際は 1行 APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.2/include') APPENDDEF(`confENVDEF', `-DSASL') APPENDDEF(`conf_sendmail_LIBS', `-lsasl2') APPENDDEF(`confLIBDIRS', `-L/usr/local/lib/sasl2 -R/usr/local/lib/sasl2') APPENDDEF(`confINCDIRS', `-I/usr/local/include/sasl') PREPENDDEF(`confENVDEF',`-DSTARTTLS -D_FFR_TLS_O_T -D_FFR_TLS_1 -D_FFR_TLS_TOREK -DHASURANDOMDEV') <--実際は 1行 APPENDDEF(`confINCDIRS',`-I/usr/sfw/include') APPENDDEF(`confLIBS',`-L/usr/sfw/lib -R/usr/sfw/lib -lssl -lcrypto')
$ sh ./Build -c # sh ./Build install
catman をしてないから man のインストールでこける.
/usr/lib/mail/cf で cf を作成してはいけない. コンパイルした場所の cf で行うこと.
TLS 用の認証キーの作成
# cd /etc/mail # mkdir certs # chmod 700 certs # cd certs # openssl req -new -x509 -nodes -out cert.pem # chmod 600 *
SASL の設定 /usr/lib/sasl2/Sendmail.conf を
pwcheck_method: saslauthd mech_list: plain login digest-md5 cram-md5
という内容で作成する.
# cd /var/svc/manifest/network # cp -p smtp-sendmail.xml smtp-sendmail.xml.org
saslauthd との依存関係を追加する.
<dependency name='saslauthd' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/network/saslauthd' /> </dependency>
# svccfg import smtp-sendmail.xml
特定のクライアントからの接続に対して, SMTP-AUTH での接続を抑制するには, /etc/mail/access に以下のような行を追加し,ハッシュ化する.
Srv_Features:127.0.0.1 A S Srv_Features:192.168.0 A S