sendmail キューを整理してアクティブ キューを減らし、メールをより迅速に処理したいと考えています。
最初は高速サーバーのみに接続するように sendmail をセットアップしたい (conn.time 5 秒未満)。conn.time > 5s の場合、sendmail はこのメッセージをアクティブ キューからフォルダに書き込みます。sendmail は'/var/spool/mqueue/slow'
1 時間ごとにフォルダからメールを再送信しようとします'slow'
。
フォルダからのメッセージで接続タイムアウトが発生した場合'slow'
、sendmail はこのメッセージをフォルダに置きます'/var/spool/mqueue/veryslow'
。sendmail は 8 時間ごとにフォルダからメールを再送信しようとします'veryslow'
。
たとえば、私はいくつかの電子メールを持っています。sendmailで送りました。
mail@fast-server (connection time less than 5s)
mail@slow-server (connection time 20s)
mail@dead-server (connection time infinitely)
結果は次のようになります。
mail@fast-server - sent
mail@slow-server - will be in folder 'slow' because of connection timeout
mail@dead-server - will be in folder 'slow' because of connection timeout
結果は1時間後
mail@slow-server - sent (from 'slow' folder)
mail@dead-server - will be in folder 'veryslow' because of connection timeout
8時間後の結果
mail@dead-server - sendmail try to resend message from folder 'veryslow'.
If connection timeout, sendmail must delete this message.
これを構成するには、sendmail.mc に何を書き込む必要がありますか?
ここに私の構成がありますが、完成できません。
divert(-1)dnl
divert(0)dnl
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.14.4-2.1ubuntu1 2012-05-23 00:27:22 cowboy Exp $')dnl
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS=
define(`confDOMAIN_NAME',`site.com')dnl
FEATURE(`use_cw_file')dnl
FEATURE(`access_db')dnl
FEATURE(`nocanonify', `canonify_hosts')dnl
FEATURE(`delay_checks', `friend')dnl
FEATURE(`ratecontrol', `nodelay',`terminate')dnl
FEATURE(`conncontrol', `nodelay',`terminate')dnl
FEATURE(`no_default_msa')dnl
FEATURE(`authinfo',`hash /etc/mail/authinfo')dnl
FEATURE(`greet_pause', `10')dnl
MODIFY_MAILER_FLAGS(`SMTP', `+0')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN')dnl
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl
include(`/etc/mail/tls/starttls.m4')dnl
include(`/etc/mail/sasl/sasl.m4')dnl
DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea')dnl
DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
define(`confDELIVERY_MODE', `background')dnl
define(`confCONNECTION_RATE_THROTTLE', `100')dnl
define(`confBAD_RCPT_THROTTLE', `30')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE', `10m')dnl
define(`confMAX_RCPTS_PER_MESSAGE', `1')dnl
define(`confTO_COMMAND', `5s')dnl
define(`confTO_CONNECT', `5s')dnl
define(`confTO_DATABLOCK', `1m')dnl
define(`confTO_DATAFINAL', `1m')
define(`confTO_DATAINIT', `5s')dnl
define(`confTO_HELO', `5s')dnl
define(`confTO_HOSTSTATUS', `5s')dnl
define(`confTO_ICONNECT', `5s')dnl
define(`confTO_IDENT', `0s')dnl
define(`confTO_INITIAL', `5s')dnl
define(`confTO_MAIL', `5s')dnl
define(`confTO_QUIT', `5s')dnl
define(`confTO_RCPT', `5s')dnl
define(`confTO_RESOLVER_RETRANS', `5s')dnl
define(`confTO_RESOLVER_RETRY', `5s')dnl
define(`confTO_RSET', `5s')dnl
define(`confDIRECT_SUBMISSION_MODIFIERS', `C')
define(`confQUEUE_LA',`40')dnl
define(`confREFUSE_LA',`20')dnl
define(`confMAX_QUEUE_CHILDREN', `150')dnl
define(`confTO_QUEUERETURN', `12h')dnl
define(`confTO_QUEUEWARN', `8h')dnl
define(`QUEUE_DIR', `/var/spool/mqueue')dnl
QUEUE_GROUP(`slow', `P=/var/spool/mqueue/slow, F=f, I=1h, R=20')dnl
QUEUE_GROUP(`veryslow', `P=/var/spool/mqueue/very, F=f, I=8h, R=10')dnl
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl