• ベストアンサー
  • 困ってます

SMTPメール送信で送信者名と送信者アドレスを設定したい

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

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数1048
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • mtaka2
  • ベストアンサー率73% (867/1179)

From:が、 > 送信者名 <メールアドレス> この形式で、送信者名を半角アルファベットだけにした場合はどうなりますか? それで問題なかったとしたら、おそらく漢字コードとかの問題だと思います。 ヘッダがきちんと MIME encoding できているかどうか確認してみてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 BASE64でエンコーディングしておらず、 きちんとエンコーディングしたら携帯に送れるようになりました。 From: "=?ISO-2022-JP?B?「BASE64でエンコードした文字列」?=" <メールアドレス> 上記のフォーマットで送る事が出来ました。 本当に助かりました。ありがとうございます。

その他の回答 (1)

  • 回答No.1
  • tabaxyz
  • ベストアンサー率64% (11/17)

DATA コマンドを送ったあとはSMTPから354を待ちます。 354が返ってきたら".\n"を送信し、本文を送信します。 DATA From として送信するのではなく、 DATA\n From: aabbcc@abc.com\n と別けて送りましょう。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご返答ありがとうございます。 自分の書き方が悪かったですね・・・ SMTPコマンドは、 MAIL FROM: xxxxx@xxxxx RCPT TO: xxxxx@xxxxx DATA ヘッダ設定(Content-Type:.... etc) From:xxxxで送っております。 ここのFromにて、送信者名と送信者アドレスを指定したいのですが、 なかなかうまくいかず、困っております。 送信者名だけで送ると、不正なヘッダとして携帯で受信できないので、 送信者名と送信者アドレス(MAIL FROM:と同じ)両方送らないと いけないようなのですが・・・

関連するQ&A

  • メールでSMTPでの送信について

    メールでSMTPでの送信について 最近気が付いて身震いをしたのですが、 プロバイダから提供されていたりするメールアドレスにて、 メールを送信しようとする時に受信時とは違って、 ユーザー名とパスワードが不要です。 ということは‥、 メールアドレスさえ知っていれば、 誰でもそのメールアドレスに、 なりすますことができるのではと思うんです。 (例) アドレス:hoge@xxx.ne.jp SMTPサーバー:xxx.ne.jp といったようにメールアドレスが分かると、 自然とSMTPサーバー名も分かってしまうので、 容易になりすますことができてしまうように思います。 これをどうにか防ぐ方法はないでしょうか。 ご回答よろしくお願い致します。

  • 送信元アドレスについて

    転送用アドレスを使って パソコン(OE)と携帯(ツーカープリケー TT21)の両方で メールを受信していますが、 企業(通販会社やプロバイダ等)から送られたメールでは パソコンと携帯とで 送信元のアドレスが  異なって表示されていることが多くて 気になっています。 パソコンでメールヘッダを確認したところ "Return-Path" のアドレス("From", "Reply-to"のアドレスとは異なる )が プリケーで 送信元として表示されています。 ちなみに、つい最近まで使っていたプリカでは そんなケースはありませんでした。 プリケーに変えてからのことなので、携帯側の問題と考えてよいのでしょうか。

  • 送信したメールにプライベートアドレスが出てしまう

    Linux(Red Hat8.0 , sendmail)のメールサーバーを立ち上げ メールを外部に送信テストしてたときに気づいた事があります。 クライアントからこのメールサーバーを通して外部に送ったメールのヘッダーに 送信に使ったマシンのプライベートアドレスが出ています。 これではLAN内の構成が分かってしまいますし、セキュリティー上 気分のいいものではありません。 これはこういうものなのでしょうか? プライベートアドレスを隠す方法とかはないのでしょうか? ルーターを使用して、LAN内で数台マシンをお持ちの方で、 LAN内マシン経由でメールを送ったときは、どうしても クライアントの内部IPが出てしまうものなのでしょうか? ヘッダー Received: from xxxx.ne.jp(グローバルホスト) (EHLO xxxx.ne.jp(ダイナミックDNS)) (xxx.xxx.xxx.xxx(ルーターに割り当てられたグローバルアドレス)) by mta12.mail.yahoo.co.jp with SMTP; 22 Jan 2003 01:31:06 +0900 (JST) Received: from 2 ([192.168.0.2](ここに出てしまいます)) by xxxx.ne.jp (MAIL) with SMTP id h0LGV5J8000000 for <vvvvv@yahoo.co.jp(外部に送信した:yahooメールに)>; Wed, 22 Jan 2003 01:31:06 +0900

  • smtpでメール送信

    いつもお世話になっております。 mail()、mb_send_mail() が使用できないため、smtp から 直接メール送信をしようと考えております。 (なぜ、mail()、mb_send_mail() が使用できないのかはわかりません。) // 件名 $subject = mb_convert_encoding($subject, "JIS", "EUC-JP"); $subject = '=?iso-2022-jp?B?' . base64_encode($subject) . '?='; // 本文 $msg = mb_convert_encoding($msg, "JIS", "EUC-JP"); // 送信 $fp = fsockopen('localhost', 25, $err_str, $err_no, 5); $header = "From: " . $from . "\r\n"; $header .= "To: " . $to . "\r\n"; $header .= "Reply-To: " . $from . "\r\n"; $header .= "Subject: " . $subject . "\r\n"; $header .= "Mime-Version: 1.0\r\n"; $header .= "Content-Type: Text/Plain; charset=iso-2022-jp\r\n"; $header .= "Content-Transfer-Encoding: 7bit\r\n"; fputs($fp, "HELO " . $smtp . "\r\n" ); fputs($fp, "MAIL FROM:" . $from . "\r\n"); fputs($fp, "RCPT TO:" . $to . "\r\n"); fputs($fp, "DATA \r\n"); fputs($fp, $header . $msg . "\r\n.\r\n"); fputs($fp, "QUIT \r\n"); 上記のように書きました。 一回目は送信できるのですが、二回目以降が送信できません。 サーバを再起動するとまた送信できるようになるのですが、 二回目以降はやはり送信できません。 何か原因が考えられますでしょうか。 ご教示よろしくお願いいたします。

    • 締切済み
    • PHP
  • SMTPで送信元メールアドレスは偽装可能?

    SMTPをコマンドから手動で動かしてみたのですが、で送信元メールアドレスを自由に打ち込めたのですが、どのアドレスにも基本的には偽装可能なのでしょうか?(危険ですよね)

  • 送信メールが戻ってきた

    先日パソコンから携帯のアドレスへメールを送信したのですが、 "Mail System Error - Returned Mail"という件名で戻ってきてしまいました。 1)私が送信した際のアドレス入力ミス 2)相手の携帯設定で、パソコンから送信したものを受信できない かなぁと思うのですが、 2)の場合、受信設定を変えたなら、 一度送信して戻ってきたメールは届くものなんでしょうか? (何度かリトライされるのか?) ちなみにこのような文章が記載されていました。 "送信先メールアドレスが見つからないか、 送信先メールサーバの事由により送信できませんでした。 メールアドレスをご確認の上、再送信してください。 Each of the following recipients was rejected by a remote mail server." おわかりになる方がいましたら、よろしくお願いします。

  • 【メール】 SMTP設定

    FX会社のインストール型PGMのメール配信機能の設定について質問があります。 同機能は添付画像にあるような情報を入力すると登録したメール宛に情報を配信するものです。 今回、ヤフーメールアドレス宛に送信設定したいと思っているのですが、エラーメッセージが表示されて送信されません。 私が設定した内容は以下の情報です。 送信メール(SMTP)サーバー:smtp.mail.yahoo.co.jp ポート番号:25 アカウント名:ヤフーメールの@より前 パスワード:ヤフーメールのパスワード SSLを使用する:チェック 送信先メールアドレス:ヤフーメールのアドレス 上記内容はヤフーメールオプションの「popアクセスとメール転送」画面で確認した内容をコピペしているので、内容に間違いはないと思います。。。。 表示されるエラーメッセージは以下の内容となり、解決策の手がかりにはなりません。 エラーメッセージ:メール送信に失敗しました。設定項目を確認して下さい。 メール設定に詳しい方、アドバイスをお願いします。 m(_ _)m

  • EDMAXが突然メール送信できなくなりました

    受信は問題なくできるのですが 送信だけが今日突然できなくなってしまいました Smtpログにはいかのように表示されています どういう意味か教えていただけませんか? よろしくお願いします MAIL FROM:<自分のアドレス> 250 OK. RCPT TO:<相手先のアドレス> 250 2.1.5 <相手先のアドレス>... Recipient ok DATA 354 Enter mail, end with "." on a line by itself 451 4.0.0 collect: Cannot write ./dfj925JZK24897 (fflush||ferror, uid=0): Disk quota exceeded

  • IDとパスワードの必要のないSMTPアドレス???

    現在、自宅にUSB接続のWEBカメラを使用して不在時の自宅のペットの様子を外部から確認しています。 方法としては、動画配信用のソフトを利用して、IEから確認するというものです。現在使用中のソフトですが、ブラウザから見る以外に、指定したメールアドレスにカメラから取得した画像を定期的に送信する機能もあり、この機能も使用したいと思っています。 設定画面で、SMTPアドレスと送信先のメールアドレスを入力するのですが、私は@niftyのメールアドレスを使用しているため、SMTPアドレスに「smtp.nifty.com」、メールアドレスに「XXXXXX@nifty.com」と指定して、問題なく画像が送られて来ました。 しかし@niftyのアドレスは仕事で使っているため、可能ならば、ホットメールやヤフーなどのフリーメールのアドレスに送信したいと考えています。 試しに、ヤフーのアドレス「XXXXX@yahoo.co.jp」とSMTPアドレスに「smtp.mail.yahoo.co.jp」と指定してみましたが、画像は送られてきませんでした。 これはなぜでしょうか?アドレスの設定が間違っていますか? ソフトのヘルプを参照すると、表題の通り『SMTPアドレスは、IDとパスワードの必要のないSMTPアドレスを指定すること』と注意書きがありますが、意味がよくわかりません。画像が送られてこなかったのはこの事と関係があるのでしょうか? またヤフー以外でも構いませんので、受信できるフリーメールサービスなどあれば教えてください。 長々と書いてしまいましたが、よろしくお願いいたします。

  • SMTPエラー

    メールが他の人には送信できるのにこの人だけ何度してもSMTPエラーになってしまいます。 このメールは以下のSMTPエラーが発生したため送信できませんでした。 (以下、サーバから出力されたエラーメッセージ) your mail attemted to be delivered on sat,19 Feb 2005 22:03,31 +900 could not be delivered to <相手の携帯メールアドレス> Due to the following SMTP relay error DATA 550 unknown user<相手の携帯メールアドレス> というような内容です。 ウインドウズXPでアウトルックです。 プロバイダはDIONです、DIONに問い合わせたのですが 相手のアドレスに「 ̄」ちょっと違うかもしれませんが上の方の横線が含まれていてそれはアドレスとして使用不可能な文字なのでエラーになるって言われました。 その人は以前はボーダフォンでドコモに変更しました。@より前は同じで横線含まれててもボーダフォンの時は送信できました。また今でも私の携帯からは送信できます。 何故なんでしょう?