メール送信の際には、送信メールサーバと受信メールサーバとの間で通信が行われます。このとき送信側では、人が読める文字で書かれたコンテンツを通信に適した別の形式に変換します(エンコード)。受信側がメールを受け取ると、人が読める形式に戻して表示します(デコード)。
このメール送信の仕組みを踏まえると、文字化けの原因としては
- 受信側のデコードの問題
- 送信側のエンコードの問題
- SendGridの不具合
が挙げられます。文字化けを解消するには、この中から原因を特定する必要があります。
まずは、特定の宛先ドメインやメールクライアントのみで文字化けが発生しているかどうかをチェックしましょう。該当する場合は「1」が原因である可能性が高いため、受信環境の設定を確認します。
次に、メール送信にSMTPをご利用の場合は、送信時のエンコードにUTF-8を指定してメールを送信し、文字化けが解消するかどうかをチェックしましょう。解消した場合は「2」が原因である可能性が考えられるため、UTF-8で送信してください。なお、Web APIとマーケティングキャンペーン機能で送信する場合はSendGridが自動的にUTF-8でエンコードしますので、ユーザ側でのエンコードは不要です。
上記の観点で原因を特定できない場合や、送受信側の設定が正しいにもかかわらず文字化けが解消しない場合は、以下の情報をそえてサポートへお問い合わせください。
- メールの送信方法(SMTP/Web API/マーケティングキャンペーン機能)
- SMTPの場合、SendGridサーバと通信した内容
- Web APIの場合、送信リクエストの内容
- 受信メールのソース
<参考>