質問: smtpメール送信で送信者名と送信者アドレスを設定したい 以前質問をさせて頂いたのですが、 自己解決しましたので、その対処方法と それによる新たな疑問を書かせて下さい。 javamailを使わずsmtp通信にてメールを送る プログラムを書いているのですが、smtpコマンドにて mail from: コマンドのアドレスと data from: コマンドの中身が一致しないと、 携帯にメールを送れない事が判明しました。 同じ内容ならば問題なくメールを送る事が出来るのですが、 送信者名を表示したいので、色々と試行錯誤してみましたが、 携帯で受信すると「不正フォーマット」として表示されてしまいます。 mail from:に送信者アドレスを書き、 data from:に送信者名のみを書くと、 不正ヘッダ情報となり携帯が受信をしてくれません。 以前の問題はそこが問題だったようです。 現在、mail from:はそのままメールアドレスを書き、 data from: に、 送信者名 <メールアドレス> "送信者名" <メールアドレス> 送信者名 メールアドレス などとsmtpコマンドを書き換えて送ってみているのですが、 すべて「不正フォーマット」として表示されてしまいます。 お解かりになる方がいらしたらご教授して頂けると幸いです。
回答: data コマンドを送ったあとはsmtpから354を待ちます。 354が返ってきたら".\n"を送信し、本文を送信します。 data from として送信するのではなく、 data\n from: aabbcc@abc.com\n と別けて送りましょう。