2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2019.06.12
インフラ【qmail】AmazonLinux+qmail+vpopmail+qmailadmin+autorespondで、autorespondの日本語文字化け対策
JTです。
今時qmailのtipsにどれくらいニーズがあるのかは置いといて、ちょっとしたことですが結構ハマったので残しておきますね。
【問題】
AmazonLinux+qmail+vpopmail+qmailadmin+autorespondで作られているメールサーバで、autorespondが返す本文/自動返信に引用されるメール本文が文字化けする。
メッセージをqmailadminで作成した場合に起こるが、これはqmailadminがeucベースであるため。
【解決サマリ】
1)本文の文字化け
qmailadminで生成された
/home/vpopmail/domains/hoge.com/user/vacation/message
(EUC-JP (LF))をメール標準(※)の文字コード「ISO-2022-JP」に変換することで解決。
※メールの文字コードは歴史的経緯よりISO-2022-JPがデフォルトとされている
【参照】https://ja.wikipedia.org/wiki/ISO-2022-JP
2)引用文の文字化け
文字化け対策は不可能と思われたため、.qmailで記載されているautorespondのコマンド引数について、オプション(末尾に 0)をつけて送信元のメールを引用させないことで回避した。
【環境】
OS:Amazon Linux AMI
LANG:en_US.UTF-8
qmail:qmail-1.03
qmailadmin:qmailadmin-1.2.16
autorespond:autorespond-2.0.5
vpopmail:popmail-5.4.33
【詳細】
1)不在通知設定
qmailadminで不在通知設定を有効とし、不在通知の本文として以下の内容を作成。
=====
お問い合わせいただきありがとうございます。
確認次第、担当の者より回答をさせていただきます。
※本メールは送信専用です。返信にはご回答できません。
=====
2)文字コード変換
メールサーバにSSHログインし、上記返信ドキュメントが
/home/vpopmail/domains/hoge.com/user/vacation/message
として配置されているので、不要なタイトル、送信元などを削除して本文のみとしたのち、nkf(※)を使用して文字コードをISO-2022-JPに変換
nkf -j --overwrite /home/vpopmail/domains/hoge.com/user/vacation/message
# 上記処理で権限が変わってしまうので以下の対応も行う
chown vpopmail:vchkpw /home/vpopmail/domains/hoge.com/user/vacation/message
※nkfがインストールされていない場合は以下の手順でインストール
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/nkf-2.0.8b-6.2.el6.x86_64.rpm
yum localinstall nkf-2.0.8b-6.2.el6.x86_64.rpm
【参照】
3)autorespondの本文添付をOFFにする
不在通知設定ONの際にqmailadminにより生成されている.qmail(/home/vpopmail/domains/hoge.com/user/直下)の末尾に「0」を追記
ついでに返信回数上限を3→30位にあげとく
/home/vpopmail/domains/hoge.com/user/Maildir/
| /usr/bin/autorespond 86400 30 /home/vpopmail/domains/hoge.com/user/vacation/message /home/vpopmail/domains/hoge.com/user/vacation 0
以上で、(とりあえず)自動応答時の文字化けはなくなったかと思います。
参考
【autorespondのオプション】
# autorespond -h
autorespond: usage: time num message dir [ flag arsender ]
time - amount of time to consider a message (in seconds)
num - maximum number of messages to allow within time seconds
message - the filename of the message to send
dir - the directory to hold the log of messages
optional parameters:
flag - handling of original message:
0 - append nothing
1 - append quoted original message without attachments <default>
arsender - from address in generated message, or:
+ = blank from envelope !
$ = To: address will be used
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索