はじめに
ほとんどすべての会社で、経営者はメール署名に特別な役割が割り当てられているビジネス通信の1つの形式または別の形式への準拠を必要とします。 多くの場合、会社の経営陣は全員に統一された企業署名を義務付けていますが、実際には、ほとんどの従業員はさまざまな理由でこの義務を無視しています。または、署名の構造が企業のものとは異なります(フォント、色、テキストテンプレート)。
もちろん、このタスクを完了するためのほとんどすべての作業は、システム管理者に任されています。 数十人の従業員が会社で働いていて、一度会社の署名を追加するのは難しくありません。 しかし、さまざまな電子メールクライアントを使用でき、ソフトウェアを定期的に交換する必要がある50人を超える従業員がいる場合はどうすればよいでしょうか。
長期的には、この要件を満たすことは実際には不可能であることがわかります。 その結果、経営陣は時々部下を蹴らなければならないため、問題のある従業員やIT部門全体に怒りを抱く可能性があります。 最良の場合、誰かがコメントを受け取ります;最悪の場合、彼らはボーナスを失います。
この記事では、タスクを実行する方法、どのような困難に直面するか、これらの困難を克服する方法について説明します。
実装のタスクと問題
原則として、経営陣は、すべての従業員へのすべての手紙に、会社のロゴ付きの企業署名が必要です。 このような署名に同意することは非常に簡単ですが、メールサーバー側でタスクを実現することは非常に困難です。
おそらくあなたの多くはすでにalterMIME + addAttachFilter bundleを使用してこのタスクに対処しようとしましたが、多くの理由でこのベンチャーを放棄しました。 原則として、あなたが何をするにしても、特にアクティブな通信では、また誰かがMicrosoft Outlookを使用している場合、手紙や署名の構造は読めなくなります 。 さて、これらすべての問題を見てみましょう...
タスクの実装
開始するには、 Active DirectoryまたはMySQL認証が設定された、完全に設定されたPostfixメールサーバーが必要です。 私の場合、次のソフトウェアが使用されました。
- Debian 7.x
- Postfix 2.x
- alterMIME 0.3.10
- addAttachFilter
- Active Directory
alterMIME -MIMEを変更するプログラム
addAttachFilter-ロゴを追加するスクリプト
Debian用のalterMIMEは次のようにインストールできます。
- apt-get altermimeのインストール
または、公式ウェブサイトwww.pldaniels.com/altermimeからダウンロードしてインストールします
また、公式WebサイトからaddAttachFilterをインストールします: addattachfilter.sourceforge.net
まず、これらのサイトの指示に従って、 alterMIMEとaddAttachFilterを厳密に構成します。
これらの記事は英語ですが、直感的です。 これらの指示に従ってすべてを正しく行った場合、最初の反応は、テストレターを送信するときのYahoooの叫び声で耳から耳まで笑顔になります。 それはあなたが長く幸せになれないということです。 この瞬間から、セットアップは始まったばかりです...
「落とし穴」
あなた自身の多くがこの点に到達したと思いますが、それですべてで終わり、その後、設定をロールバックする必要がありました。
最初に対処しなければならなかった落とし穴は、 IMG SRC HTMLタグ内にbase64としてロゴを追加できないことでした。 問題は、 Outlookを含むほとんどのメールクライアントが、 base64画像形式のこのタグを認識しないことです。 また、デフォルトで構成されているすべてのメールクライアントでは、そのようなロゴがブロックされるため、写真への外部リンクを使用することはできません。 したがって、 perAスクリプトaddAttachFilterを使用してこの問題を解決します。
第二の落とし穴 。 これは、手紙への定期的な署名の挿入ではありません。 実際には、文字が形成されるとき、「 From: 」フィールドは郵送先住所の単純な値を持つことができます。つまり 、 From:ivan.ivanov@your.domainとして形成されますが、多くの場合、この行はFrom:“ Ivan Ivanov "<ivan.ivanov@your.domain> 。
この問題を解決するには、 免責事項スクリプトの行を置き換えます。
- from_address = `grep -m 1“ From:” in。$$ | cut -d "<" -f 2 | cut -d ">" -f 1`
この行:
- from_address = `grep -m 1“ From:” in。$$ | cut -d "<" -f 2 | cut -d ">" -f 1 | sedの/ ^ From:// g``
第三の落とし穴 。 前の2つの指示に正確に従ってすべてを行うと、通信中に多くの奇妙なことがわかります。 Outlookを含むさまざまな電子メールクライアントでテキストを表示するときと署名を表示するときの両方で、これらすべての「奇数」が表示されます 。 それらをリストしても意味がありません;あなた自身がすべてを見るでしょう。 実際、この構成では、メールサーバーは常に別のサーバーから社内の従業員に送信される場合でも、各文字にロゴを挿入します。 したがって、 免責事項のスクリプトを変更する必要があります。
行を削除します。
- 猫| /var/spool/filter/addAttachFilter.pl> in。$$ || {echoメールをファイルに保存できません。 exit EX_TEMPFAIL; }
代わりに行を追加します。
- cat> in。$$ || {echoメールをファイルに保存できません。 exit EX_TEMPFAIL; }
このアクションでは、 免責事項のスクリプト設定を初期設定に戻します。
その後、次の行を置き換えます。
- trap "rm -f in。$$" 0 1 2 3 15
行ごと:
- trap "rm -f in。$$; rm -f pic。$$»0 1 2 3 15
そして、行の後:
- if [`grep -wi ^ $ {from_address} $ $ {DISCLAIMER_ADDRESSES}`]; それから
2行追加します。
- 猫の猫。 $ INSPECT_DIR / addAttachFilter.pl> pic。$$ || {echoメールをファイルに保存できません。 exit EX_TEMPFAIL; }
- cat pic。$$> in。$$ || {echoメールをファイルに保存できません。 exit EX_TEMPFAIL; }
これは、従業員が送信する文字にのみロゴが追加され、すべてが連続していないようにするために必要です。
4番目の落とし穴は、 Outlook電子メールクライアントです。 会社で使用されている場合、その設定に応じて、メールクライアントはレターに高度なデータを追加する場合があります。 このデータは、添付されたwinmail.datファイルに格納されます。 このファイルを追加すると、多くのクライアントは企業署名を表示しません。 これを回避するには、1つのキーDisableTNEF = 1 (DWORD)をレジストリに追加する必要があります。 Microsoft Outlookの任意のバージョンがインストールされているすべてのコンピューターにこの値を追加することを強くお勧めします 。 この問題の詳細と解決方法については、こちらをご覧ください。www.slipstick.com/ problems / outlook-is-sending-winmail-dat-attachments
5番目の落とし穴 (化粧品)。 この問題の本質は、企業署名が常に下から追加され、回答後に追加できないことです。 このレターはサーバー上で生成されるため、メッセージを自分でフォーマットするときに、メールクライアントとは異なり、サーバーは単に署名を配置する場所を知らないだけです。 これは、長い会話で問題を引き起こす可能性があります。 解決策は非常に簡単です-たとえば、最小限のテキスト署名を作成します。
- __
- よろしく
- イワン・イワノフ
したがって、長い通信中は、企業と最小の2つの署名が常に挿入されます(回答を分離するため)。
「 動的 」な落とし穴。 従業員リストの動的編集に関連する最後の落とし穴を見てみましょう。 すでにお気付きのように、署名はdisclaimer_addressesファイルに登録されている従業員にのみ追加されます。 このファイルを手動で編集する場合は、このファイルを定期的に監視する必要があると推測するのは簡単です。 数十人の従業員があなたの会社で働いているなら...この問題を解決するために、このリストを形成するcronスクリプトを入れてください。 このスクリプトを1日に1〜2回実行すると、リストの問題が解決すると思います。 サンプルスクリプト:
- / usr / bin / ldapsearch -D USER@YOUR.DOMAIN -w PASSWORD -LLL -h 192.168.1.100 -p 3268 -S mail -N -b dc = YOUR、dc = DOMAIN "(mail = * @ *)" mail | grep "mail:" | cut -d "" -f 2> / etc / postfix / disclaimer_addresses
ここで、 192.168.1.100はコントローラードメインのIPです
このコマンドを実行するには、 ldap-utilsパッケージも必要です。
動的な署名
これで最終段階になりました。 ここでは、署名を動的に変更する方法について説明します。 私の場合、従業員の名前 、 姓 、 電話番号を変更する必要があります。 これは、 Active DirectoryまたはMySQLで使用されるデータを使用して実行できます 。 これを行うには、再度ldapsearchユーティリティが必要になります。 このユーティリティを使用する本質は、 displayNameフィールドとtelephoneNumberフィールドを読み取ることです 。 次に、これらの値を使用して変数を作成し、署名で置換する必要があります。 displayNameを取得するスクリプトの例:
- DisplayName = `ldapsearch -D USER@YOUR.DOMAIN -w PASSWORD -LLL -h 192.168.1.100 -p 3268 -N -b dc = YOUR、dc = DOMAIN"(mail = * $ from_address *) "displayName`
変数$ from_addressは 免責事項スクリプトに既にあります
免責事項のスクリプトの全文は提供しませんが、これは動的な署名を形成します。 主にHTMLヘッダーの準備で構成されているため。 一般に、署名の動的な形成は、 Active DirectoryまたはMySQLから取得したヘッダーとデータをコンパイルすることに限定されます 。
おわりに
現時点では、統一された動的な企業署名の追加は正常に機能します。 さまざまなバージョンのOutlookを含むさまざまな電子メールクライアントでテスト済み。 この実装にはまだ問題がある可能性があることを除外しません。 ある場合は、コメントの購読を解除してください、そしてあなたのコメントの解決方法について。