macOS Mail.appにてSendGrid経由で送信すると添付ファイルが消える場合の対処法

2017年07月20日

SendGrid簡単な設定でSMTPサーバを利用できます。
SendGridの設定状態によって、macOSのMail.appにてSendGrid経由でメールを送信すると添付ファイルが消えてしまうことが判明しました。
その場合の対処法です。

現象が起きる条件

・ macOS Sierra (10.12.5)の純正Mailアプリ
・ 送信サーバにSendGridのSMTPサーバを指定し
・ リッチテキスト形式でメールを送信
・ 署名機能を使用
・ PDFファイルを一つ添付

筆者の場合は、上記の条件で発生しました。
Yahoo!メールとGmailでテスト受信しました。

常にプレーンテキスト形式で遅ればOK、だけど…

Mailアプリからテキスト形式で送信した際は添付に成功しましたが、そうするとメール本文内のリンクURLがSendGridが生成した長〜いURLに置き換わってしまうので、見た目の上でよくないな、と。
メーラーによってはURLの途中で切れちゃいそうです。

解消する方法

SendGridの管理画面にログインし、「Settings」→「Mail Settings」へと進みます。
その中の「Plain Content」をONにします。

これ、見出しは「Convert your plain text emails to HTML(プレーンテキストメールをHTMLメールに変換する)」なのに、ボタンの横には「Turn on if you don't want to convert your plain text email to HTML(プレーンテキストメールをHTMLメールに変換したくない場合はONにしてください)」だから、どっちを選んで良いのか今ひとつわかりません。

実際には、ONの状態でHTMLメールを送るとHTMLメールのままで受信でき、OFFの状態でメールを送るとプレーンテキストに変換されたものが届きました。

もう今時HTMLメールを毛嫌いする人も少ないかと思うので、全部HTMLメールで良いんじゃないでしょうか。
開封記録もHTMLメールじゃないと取れませんし…。

上記の設定にしてMail.appから送信したところ、無事にメールにファイルが添付された状態で受信できました。

追記:サポートからのご返信

この状況をサポートに連絡したところ、とても迅速にご返信をいただきましたので、一部を引用します。

詳細なご連絡ありがとうございました。
弊社でも同様の現象が発生することを確認いたしました。

結論として、ブログに記載いただいたとおりMail SettingsのPlain ContentをONにしていただく、というのが対処法となります。

SendGridではテキストのみのメールを自動的にHTMLメールに変換する機能を提供しておりますが、Plain ContentをONにすることで、その機能を無効にする事が可能です。
(非常に紛らわしいですが、ONにすることで自動変換が無効になります)

以下でも紹介しております通り、改行の問題等ございますので、基本的にはONにしておくことをおすすめいたします。
https://sendgrid.kke.co.jp/blog/?p=1521

この現象は、Apple Mailが送信するメールの形式が一般的なメーラーのものと異なっており、HTML自動変換機能が有効な場合、変換機能が意図しない動作をしてしまっていることが原因であると考えられます。

お手数をおかけいたしますが、特別な事情がない場合は、Plain ContentをONにすることで対処いただけますでしょうか。

とのことで、特に問題がない場合は、「Plain ContentをON」の状態で運用する形が良いとのことでした。

純正メーラーがお行儀良くないようなのですが(IEにしろ、なんで純正っていうのはこうもアレなのか…)、あまり余計なものをインストールしたくないのと、色々な連携の都合上、Mail.appを使っています。

海外との直接契約だと、言語や環境、時差の関係もあってサポートへの連絡に一手間かかることがあるのですが、日本に住む日本人として、日本代理店である構造計画研究所を通すメリットを感じました。
直接契約でも代理店を通しても価格も変わりませんし…ありがたいですね。

構造計画研究所 SendGridサポートチームのみなさま、ご対応ありがとうございましたm(__)m