4D-JUG
Would you like to react to this message? Create an account in a few clicks or log in to continue.

【コンポーネント】メール送信

2 posters

Go down

【コンポーネント】メール送信 Empty 【コンポーネント】メール送信

投稿 by miyako 2016-08-05, 11:50 pm

MIME構築コンポーネントを公開しました。

v15以降,Internet CommandsのQuickSendコマンドがMIMEをサポートするようになったので,自分でMIMEを構築すれば,QuickSendで標準テキスト+HTML+添付ファイルのメッセージを送信したり,拡張文字や半角カナを含むISO-2022-JPメールを送信したりすることができる,という例題です。

https://github.com/miyako/4d-component-email

解説

http://www.4d.com/jp/blog/mime-and-iso-2022-jp.html


最終編集者 miyako [ 2016-09-15, 3:31 pm ], 編集回数 1 回

miyako

投稿数 : 480
登録日 : 2016/07/05

トップに戻る Go down

【コンポーネント】メール送信 Empty Re: 【コンポーネント】メール送信

投稿 by miyako 2016-08-17, 4:04 pm


miyako

投稿数 : 480
登録日 : 2016/07/05

トップに戻る Go down

【コンポーネント】メール送信 Empty Re: 【コンポーネント】メール送信

投稿 by osaru 2017-08-14, 1:59 pm

いつもお世話になっております。こちらのコンポーネントですが、macOS v16.1 64bit環境では正常に動作しませんでした。
具体的には、
header wrote:
Mime-Version: 1.0
Date: Mon, 14 Aug 2017 11:51:42 +0900
To: hoge1[at]aheahe.com
From: hoge1[at]aheahe.com
Subject: test--------------------------------ここまでがSMTP_QuickSendが付けたヘッダー?
Subject: test                以降がコンポーネントで生成したヘッダー
To: hoge2[at]aheahe.com
To: hoge3[at]aheahe.com
Cc: hoge4[at]aheahe.com
Cc: hoge5[at]aheahe.com
Content-Type: multipart/related;
boundary=6857BF9FA3BD4D64875FAB48AA8CB7F2
Message-Id: <20170814025142.1FE9A29EB0B[at]aheahe.com>
以上のようにQuickSendが付けたと思われるヘッダーのみが有効で1件のToフィールドに宛ててしか送信できませんでした。
メールサーバーのログにもBAD-HEADERのキーワードが記録されています。
v16のInternet Commandの仕様が変わったそうで上手く複数のToやCCやBCCが運用できる方法はございませんでしょうか?

osaru

投稿数 : 67
登録日 : 2017/08/14

トップに戻る Go down

【コンポーネント】メール送信 Empty Re: 【コンポーネント】メール送信

投稿 by miyako 2017-08-14, 3:07 pm

確かにSubjectヘッダーはICが追加するので,MIMEでは省略するべきみたいです。

// MIME_ADD_HEADER ($message;"Subject";$件名)
// イラナイヨ!

From, Toも省略ですね。

あとは,ICに引数として渡すアドレスをリスト(カンマ区切り)にするだけです。

miyako

投稿数 : 480
登録日 : 2016/07/05

トップに戻る Go down

【コンポーネント】メール送信 Empty Re: 【コンポーネント】メール送信

投稿 by osaru 2017-08-14, 4:00 pm

miyakoさま、ご連絡ありがとうございます。
SubjectやToヘッダーは除外してテストしてみたのですが、CCやBCCへの配信がされない様でございます。
相変わらずログにはBAD-HEADERの表示・・・

Toにつきましても、昔、複数の宛先はカンマ区切りで渡していた事もあったのですが一つのアドレスにエラーがあった場合にSMTP_QuickSend自体が止まってしまう問題があったかと記憶しております。メールサーバーのキューに投げて、エラー処理はメールサーバー任せにできればと思っておりまして・・・もしかしてコンポーネントをv16に変換していないのですが、問題ありますでしょうか?

ご確認のほど頂ければ幸いです。

osaru

投稿数 : 67
登録日 : 2017/08/14

トップに戻る Go down

【コンポーネント】メール送信 Empty Re: 【コンポーネント】メール送信

投稿 by Sponsored content


Sponsored content


トップに戻る Go down

トップに戻る


 
Permissions in this forum:
返信投稿: 不可