SMTPでメールを送信する際に気をつけることはありますか?

SMTP経由でメールを送信していて、次のようなトラブルが発生した場合、送信しているメッセージの形式などに原因がある可能性があります。

  • 改行されない
  • 余分な改行が追加される
  • メッセージが途中でカットされる
  • 文字化けする

 

こういった場合、以下のような点に注意してメッセージを生成することで解決する場合があります。

  1. 改行コードにはCRLFを使用する
    改行コードにCRもしくはLFのみを使用すると改行が正しく処理されず、改行されない場合があります。
  2. 1行あたり78文字以内とする(推奨)。998文字を超えないようにする(必須)
    SMTPでは1行あたりの長さに制限があります。長すぎるとカットされる場合があります。ここでの制限値は改行コードを除いた文字数です。
  3. Content-Transfer-Encodingに8bitを指定しない
    歴史的経緯から、メールサーバの中には7bitエンコードしか扱えないものが存在します。このため、Content-Transfer-Encodingに8bitが指定された場合、SendGrid側で自動的にquoted-printableに変換します。この際、余分な改行が追加される場合があります。SendGridへのリクエストでは、7bit相当のエンコードを使用するようにしてください。具体的には、以下、いずれかの対応を行います。

他に、テキストメールのHTML変換機能が影響を与えている場合があります。詳しくはこちらをご確認ください。



他にご質問がございましたら、 お問い合わせ ください。