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

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

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

 

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

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