LoginSignup
16
7

More than 5 years have passed since last update.

SendGridでメールを送信する時に改行が上手くいかない時の対処法

Posted at

SendGridでメールを送信する時に改行が上手くいかない時の対処法

SendGridを介してメールを送信する時に、Contentをplain/textにしていると意図した改行がなされないとことがある。その時の対処法を記す。
対処法と言っても、非常に簡単な設定を行うだけである。

生じる問題

例えば、以下のような改行コードを入れた文字列の場合に生じる(SendGridのAPIを叩くためのJSONの一部を抜粋)

Content: []Contents{{
       Type:  "text/plain”,       
       Value: "アイウエオ\nカキクケコ\nサシスセソ",}},

この場合、メールで送信されてくる中身は、以下のようなものを期待している

expected_mail_screen.png

しかし、デフォルトの設定のままだと以下のような内容が送信されてくる

actual_mail_screen.png

問題が生じる原因

SendGridの Plain Content: Convert your plain text emails to HTML .という設定が、OFFになっているために生じる。(Settings > Mail Settings > Plain ContentのACTIVE)
これは、その設定の説明の通り、plain text のメールをSendGridがHTMLに変換してくれるというものである。
これがあるために、改行コードが無視されたHTML形式に変換されメールが送信されるので、先ほどのような問題が生じる。

plain_text_off.png

解決策

Plain Content: Convert your plain text emails to HTML (Settings > Mail Settings > Plain ContentのACTIVE)の設定を「ON」にすれば良い
若干ややこしいが、「OFF」にしていると、plain text のメールをSendGridがHTMLに自動で変換されるようになってしまう。

plain_text_on.png

関連記事

Go言語でSendGrid Web API v3を使って、メールを送信する

GCE上のGoのコードからSendGridを使用してメールを送信

16
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
7