メール送信(Indy)のfromパラメータについて

解決


774  2005-08-20 14:15:29  No: 17188  IP: 192.*.*.*

Indyでメール送信しようとしています。
IdSmtp1.QuickSend(host, subject, mailto, from, body);

送信者(form)のパラメータにスペースor小なりが含まれると(例: a<hoge)
「EIdProtocolReplyError クラスの例外を生成しました」とエラーが発生します。
これを回避して送信することは可能ですか?
よろしくお願い致します。

編集 削除
無理  2005-08-20 16:01:40  No: 17189  IP: 192.*.*.*

仕様上不可能

編集 削除
たかみちえ  URL  2005-08-22 08:42:02  No: 17190  IP: 192.*.*.*

SMTPの仕様上それは出来ません。”送信したい”と言うことに重きを置くならば、そのような禁止文字があったら削除する、代替文字に置き換えるなど。
フォームがあるのなら「禁止文字が含まれています」などと注意を促すなど工夫しましょう。

編集 削除
にしの  2005-08-23 13:02:12  No: 17191  IP: 192.*.*.*

RFCの規則に合わせて書けばよろしいかと。
From: a<hoge
はエラーですが、
From: "a<hoge"
なら送信できるはずです。

編集 削除
774  2005-08-25 11:27:04  No: 17192  IP: 192.*.*.*

色々とご返答ありがとうございます。
実のところ「NMSMTP」コンポでは送信が可能で、
「Indy」で行ったところうまく動作しないので
解決策が無いか質問した次第です。
皆様のおっしゃる通り「仕様」とならば
これ以上待ってもしかたが無いのであきらめます。
ありがとうございました。

編集 削除