• 締切済み

メールアドレスのみを抜き出す方法

phpでメールの返信プログラムを作成しています。 メール送信プログラムはできたのですが、さんぷる<exsample.com>やexsample.com(sample)といった文字列の中からメールアドレスのみを抜き出す方法がわかりません。 ご教授よろしくお願いします。 動作環境:Windows+Apache2.0.52+php4.4.2

  • PHP
  • 回答数2
  • ありがとう数2

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>具体的にはどのようなプログラムを作成すればよいのでしょうか? それを言うなら、どうやってメールは受け取ったと 判断するのでしょうか? それ次第で書き方はだいぶ異なるとおもいますよ。

na_black16
質問者

お礼

いろいろ検索した結果、似ているソースを見つけました。 それを自分用に改造したらうまく表示させることができました。 ありがとうございました。

na_black16
質問者

補足

すみません。言葉足らずで。 >どうやってメールは受け取ったと判断するのでしょうか? imap_openを使ってPOP3に接続してメールを受信しています。 よろしくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

メール返信でしたら、受け取ったメールの ヘッダの1行目がかならず 「From メールアドレス 日付」になっていますので 6文字目から次のスペースまでがメールアドレスだと 判断すればよいでしょう。 もし不定形のテキストからメールアドレスを抽出 したいというご要望であれば正規表現などで組めない ことはないと思いますが、信頼性が低いので 返信プログラムとしては不適格だと思います。

na_black16
質問者

お礼

アドバイスありがとうございました。 方法は異なりましたがきちんと表示できました。 回答ありがとうございました。

na_black16
質問者

補足

>From メールアドレス 日付」になっていますので 6文字目から次のスペースまでがメールアドレスだと 判断すればよいでしょう。 具体的にはどのようなプログラムを作成すればよいのでしょうか? よろしくお願いします。

関連するQ&A

  • 特定のIPアドレスでPHPを使ったメール送信ができません

    PEARのMailを使ってメールを送信するソースを作成しました。 IPアドレスを自動取得した場合はきちんとメール送信ができています。 しかし、外部からの利用を可能にするためのIPアドレスに変更すると送信処理に時間がかかり、送信処理を中断してしまいます。 この特定のIPアドレスがある同一LAN内にはたくさんのPCがつながっています。 もしかしてこれが原因なのでしょうか? 動作環境:Windows+Apache2.0.52+PHP4.4.2

    • 締切済み
    • PHP
  • gmailのアドレス

     gmailでアカウント(例えば,aaa)を作り,そのアカウントに対して,以下のように“アカウント+***(←任意の文字列)”とすれば,無数のメールアドレスを設定できることは有名ですが,  aaa+***@gmail.com このように作成したアドレスで受信したメールに対して返信する場合や新規でメールを送信する場合のアドレスは,aaa@gmail.com となってしまいます. 何とかしてメールを送信する場合にも,aaa+***@gmail.com という形で行いたいのですが無理でしょうか?.

  • 指定したアドレスとは別の場所のファイルを読み込む

    Apache1.3とPHP5.2が動作するレンタルサーバーを利用しています。 この環境で、特定のアドレスにアクセスした場合、別のファイルをリダイレクト無しで表示する、例えば、 http://www.sample.com/page.php にアクセスすると、ブラウザで表示されるアドレスはそのままに http://www.sample.com/index.php?q=page で生成されたデータを返すといったようにしたいです。何かいい方法はありませんでしょうか。

    • ベストアンサー
    • PHP
  • C#のメール送信でエラーが出るのですが・・・・

    こんにちは最近、自分の担当のプログラムを作っているところなんですが、どうしてもエラーがでて直りません。 それがデバッグ中にでるものではなく動作中に起こるので困っています。 作っているプログラムはメールの送信のみを行うプログラムでC#でコーディングしています。 ちなみにエラー内容はメール送信時に「指定された文字列は、電子メールアドレスに必要な形式ではありません。」 一応、アドレス、SMTPサーバのアドレスともに確認しましたが、こちらは問題ありませんでした。 また個人的に検索してみたり人に聞いてみましたが、解決しませんでした。 どなたかご教授お願いします。

  • ウィンドウズ7でのライブメールで携帯メールが送信できないアドレスが発生

    ウィンドウズ7でのライブメールで携帯メールが送信できないアドレスが発生しました 受信は出来るのですが送信出来ないのです。新規でアドレス貼に入れても 登録されていない文字がありますと出て、返信出来なくて困りました。 ちなみに@マークの前に「ドット」が2つあるアドレスです。XPでは難なく 送受信していました。

  • メールアドレスについて

    レンタル写メール掲示板を作成しているのですが、 ユーザー毎にメールアドレスを発行しないといけないのでしょうか? ユーザー:**** の場合、****@domain.com ユーザー:****2 の場合、****2@domain.com のようにメールアドレスへ送信する形にしたいのです。 こんな感じです http://mobi.to/si/?id=sample1

  • メールアドレス

    友人から私の携帯電話にメールがきましたが、そのアドレスの先頭の文字が大文字になっていました。そのまま返信したのですが、ちゃんと送信できたか心配です。

  • phpでメール送信ができなくなりました

    phpを使って数日までWeb上でメールの送受信を行うプログラムを作成し使用していたのですが、昨日からメールが送信されず、タイムアウトのような現象が起きました。 原因が思いつきません。 よろしくお願いします。 動作環境:Apache2.0.54+PHP4.4.2+WindowsXP

    • 締切済み
    • PHP
  • 迷惑メールのアドレス

    迷惑メールの送信者のアドレスが 空白になっていたり、無意味な文字列に なっている事がありますが、 どうなっているのでしょうか? また、送信者を特定することはできますか?

  • 正規表現 <>で囲まれたメールアドレスだけを取る方法

    <***@bbb.com> <<< 554 5.7.1 <***@hoge.com> と言うような文字列の「メールアドレスだけ」を取りたいのですが、 うまく出来ません。 $_=~ /\<(.*)\>/ とやると、 2行目が << 554 5.7.1 <***@hoge.com となってしまいます。 $_=~ /\s\<(.*)\>/ とすると1行目が取れなくなります・・・ どのように書いたらいいのでしょうか。

    • ベストアンサー
    • Perl

専門家に質問してみよう