AdaloとsendGridを連携したメール配信の不具合(改行があるとメールが送信できない)

Adaloでお問合せフォームを作りました。データベースにユーザーから新規のデータが入ると自分宛てにメール通知が来るようにしたのですが、メール配信サービスに使ったsendGridで以下の不具合があるので対策を知っている方教えて頂けないでしょうか?

sendGridは文章に改行が含まれていると改行が無くなったり、送信できないという不具合(元々の仕様?)があってネットでも以前から話題になっています。これはplain text がメール送信時に自動的にHTMLメールに変換され、その過程で改行コードが無くなってしまうことによる不具合だと言われています。

対策として勝手にHTMLメールに変換されないようにPlain txtのままにするという設定があるのでそれを有効にしておくという方法がネット上に投稿されています。しかし、実際sendGridのWebサイトで設定を変更しようとするとサイトの内容が変わってしまったのか、該当するページが見当たりません。
どこでこの設定をすればいいのかご存じの方いないでしょうか?

(ネットに載っている設定変更のページ)
ダッシュボード→Settingと進むとこのページがあるとネット上では説明されているが9/18現在このページが見当たらない(下記画像はネットから拝借)

@shnd

2020年1月13日に、Sendgrid のPlain Content は、廃止されてます。

https://sendgrid.kke.co.jp/docs/User_Manual_JP/Settings/mail.html

SendGridだけで解決する方法は、分かりかねますが、
Adalo → Integromat → SendGridで送ればどうでしょう。

SendGrid

宮崎キャプテン、返信ありがとうございます。いろいろ面倒を見て頂きましたが、やはりどうしたらよいのか分かりません。回答に出ているsendGridの日本語マニュアルの該当部分を進んでいくとPlain textに関しては以下画像のように説明がされています。

改良のために提供が終了したメール機能の部分にplain txtが出ています。「メールの開封チェックをするならHTMメール(に変換することが)が必要です。そうでなければplain textを使い続けられます」

なんじゃこりゃ?だからどうすればplain txtを使えるの??分からないよ。

もう面倒だからsendGrid使うのやめたいです。回答で頂いた下記コメントの意味がよく分かりません。
integromatを使うことと、sendGridが改行でメールが送信できない問題はどう関係しているのでしょう?

Adalo → Integromat → SendGridで送ればどうでしょう。

Adalo使っている人は普通はどんなメール配信サービス使っているんでしょうか?(sendinBlueも設定がよく分からずハマっています)

SendGridちょっと、不親切ですよね。。

おそらくこのJson Bodyの
テキストパート( text/plain ) HTMLパート( text/html ) を切り替えて送信してくれと言うことだと思います。が、正直、Adalo →SendGrid の通信は、失敗することが多くて、私は諦めました。1年くらい前にも、何人かチャレンジしたのですが、成功するときと、成功しないときの差が良くわからなくて、、Adalo側の問題なのか? SendGridの問題のか、良くわからない時が多かったです。


{

  "personalizations": [

    {

      "to": [

        {

          "email": "john@example.com"

        }

      ],

      "subject": "Hello, World!"

    }

  ],

  "from": {

    "email": "from_address@example.com"

  },

  "content": [

    {

      "type": "text/plain",

      "value": "Hello, World!"

    }

  ]

}

Adalo → Integromat → SendGridで送ればどうでしょう。

申し訳ないです:sweat_drops: ちょっと不親切でしたね。
Integromat側にSendGridのコンポーネントがあって、そこでPlainTextとHTMLの切り替えタブがあるので、簡単に切り替えができます。こちらで簡単に切り替えができます。先ほど、試しましたが、動作しました。

【参考】

Adalo使っている人は普通はどんなメール配信サービス使っているんでしょうか?(sendinBlueも設定がよく分からずハマっています)

海外の情報ではSendgridが多いようなのですが、正直このAPI問題どの程度解決しているんだろうと疑問です。私は、Integromat(画面が見やすいので)使ってますが、Zapier +Gmailを使っている人が多いと思います。

改行に\nが置換できれば全て解決しますよ。どうするかね?

「いいね!」 1

テスト動画作りました。
https://vimeo.com/608699577

パスワード書けてますのでDMください。

「いいね!」 3

しゅんすけ様 有難うございます。ビデオの18分経過した画面が答えですね。integromat使ってplain textを選択できるようにします。貴重なお時間を割いて頂いて大変感謝しています。

「いいね!」 2

参考になれば幸いです!頑張って下さい!

「いいね!」 1

早すぎるwww しゅんすけさん ありがとうございます:man_bowing:

「いいね!」 1

宮崎様 しゅんすけ様
改行文章のメール送信に関していろいろやったので結果報告します。sendGridに嫌気がさしていたので別のメール配信サービスのsendinBlueも使って比較実験やりました。

私はZapier派(というか、宮崎さんに教えてもらうまでintegromat使ったことなかった)なのでZapierでも同じことが出来るかやってみました。Zapierでもplain textかHTMLを選ぶ設定があるのでplain textに設定してテストしました。

1.Adalo→sendinBlueで改行文章がメールできるか?(×)

2.Adalo→Zapier→sendinBlueで改行文章がメールできるか?(一応〇)

3.Adalo→Zapier→sendGridで改行文章がメールできるか?(一応〇)

4.Adalo→Integromat→sendGridで改行文章がメールできるか?(一応〇)

(結論)
一応、上記のような結果にはなりましたがまだモヤモヤしています。FreeプランだとZapierもintegromatも送信に15分かかるものだと思っていたのですが、改行無しの簡単な文章だと1分もかからずにメールが来ました。改行があると何故か時間がかかり、15分くらいはかかっていたような気がします。

中には15分以上たっても送信されないメール(改行あり)があり、確実性に一抹の不安を覚えました。(sendGridもsendinBlueも)私のように趣味でアプリを作っている分には構いませんが、ビジネスでお問合せメールを作って送信されないということがあったらビジネスチャンスを失いかねないので恐ろしい事だと感じました。

結局のところ、自分の中では何を選択するのがベストなのか分からずじまいでした。(終)

「いいね!」 3

結果、報告すごく丁寧にありがとうございます。しかもZapier まで。

たまに通信がされないということですね。iPaaS側の通信がうまくいってないってことですよね:sweat_drops:
とすると、確実性という観点からは、Airtableなりに直接サービスのページに飛ばすってことになりそうですね。

度々の質問で恐縮です。お問い合わせフォームは結局airTableで作って、通知メールはAirTableのFormに付いている標準の機能でやるのが確実のような気がしてきました。(メール配信もすぐ来るし)

(質問)
Adaloからairtableのフォームを使うにはどうするのがいいのか教えて下さい。先日、kaitoさんが「airTableのFormをAdaloのWebViewで表示するのが面倒が無くてよい」という回答をしてくれましたが、それ以外の方法があったら知りたいです。
(Zapierなどで連携した場合、データはadaloからairTableに簡単に持って行けますが、Formの送信ボタンをどうやれば押すことが出来るのか分からなくて質問しています。)

「いいね!」 1

ぱっと思いつくのは、2つです。

①Airtable のフォームURLをそのまま張り付ける方法
Adaloの外部リンクでAirtableのページへ飛ばします。

ユーザーは、AirtableのFormから入力することになります。
*Airtableのフォームデザインは変更できないのと、Userから見ると外部サイトになるので、
Userが混乱する可能性もあり。

②AdaloのFormを使ってAirtableへ追加する方法
*画像データを送ることができないので、テキストデータ(画像URLなどは可)のみの送信となります。
AdaloのFormコンポーネントから、AirtableのExternaldataに接続して、inputをします。

操作方法