• ベストアンサー

メールヘッダから送信メールアドレスの抜き出し

以下の1行から、メールアドレスだけ抜き出すには どのようにしたらよいでしょうか。 From: 送信者<アカウント@ドメイン> Fromと送信者の設定してる名前は除いて(気にせず) sedで文字を削りあげるより、直接 <>←この括弧の中が<英数字@英数字>であれば 英数字@英数字だけ抜き出す。という方法で、 メールアドレスだけ抜き出したいのです。 どんな方法がありますでしょうか

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

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

行の抽出のほうはgrepを使って <[0-9a-zA-Z]+@[0-9a-zA-Z\.]+> #他にもメールアドレスに使える記号はあるので本当はもう少し条件加える必要があるはずです で、反応した行をFS="<>"としたawkで切り出して$2をprintすればたぶんできるでしょう。 参考:http://okwave.jp/qa831996.html

r-linux
質問者

お礼

ありがとうございます。 <[0-9a-zA-Z]+@[0-9a-zA-Z\.]+> 上記が <英数字@英数字> だった場合になるのでしょうか grep <[0-9a-zA-Z]+@[0-9a-zA-Z\.]+>  としてもダブルクォーテンションで 囲ってもHITしませんでした。 FSの方も、<アカウント@ドメイン>の行がHITするか 試したのですがうまくいきませんでした。。 自分でも追って見ますが、ご存知でしたら教えてください。

関連するQ&A

  • メールのヘッダの内容について

    メールのヘッダには色々書いてありますよね ReceivedとかFromとかは何となく意味が分かりますが 「In-Reply-To」「References」って何なんでしょうか? また、私が送信したメールのヘッダを見ると References: <309ds・・英数字の羅列・・39dsg4@roeiwe> <d879・・英数字の羅列・・21lkj@kwos.ne.jp> とありますが、<>内のアドレス?は一体何でしょうか? 2番目の<>内のアドレスは私が送信した相手のメールのドメインでした(kwos.ne.jp部分)が、1番目の<>内は私のアドレスか何かですよね?しかし@の後のドメイン名?が自分のと全く違うんですが・・。しかも最後は「ne.jp」とか「com」とかで終わってなくて「.(ピリオド)」さえもない・・。これはなんでしょうか?教えて下さい!

  • mb_send_mail関数により送信されるメールのヘッダで送信元メールアドレスがうまく設定されません

    さくらサーバで2つのドメインを持っており、その一方のドメインを用いたサイトを構築しています。 このサイトより、phpのmb_send_maiにより送信されるメールヘッダーに送信元メールアドレス(上記一方のドメインを含む)を設定しようといろいろ試したのですが、 送信されたメールの送信元アドレスとして、 上記一方のドメインではなく、他方のドメイン(初期ドメインではなく、1つ目にとったドメイン)の主要部(メールアドレスであれば、本来@の前に配置される部分)が盛り込まれてしまいます。 mb_send_mai関数の第四引数として、"From:.....@*******"などと設定しても、受信されるメールには全く反映されません。 php.iniやサーバの設定に何か問題があるのか調べたのですが、 自力では無理のようです。 どうか、お知恵をかして下さい。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • フォームメーラーの記述メールアドレスの入力欄を送信者の携帯メールアドレスにする

    レンタルcgiフォームメーラーで顧客から社にフォームを送ってもらうサイトを制作中です。 送信元(顧客の)メールアドレスの記入について疑問です。 <input type="text" name="mail"> とすると何の問題も無くフォーム受信でき、そのまま顧客側に返信できます。 しかし携帯アドレス用に下記のようなものを作ろうとしています。 <INPUT TYPE="text" NAME="email_account"> <SELECT name="email_domain"> <option value="@docomo.ne.jp">@docomo.ne.jp <option value="@ezweb.ne.jp">@ezweb.ne.jp <option value="@t.vodafone.ne.jp">@t.vodafone.ne.jp …………以下続く とすると、受信したフォームは 「email_account」「email_domain」 が分かれてしまい、アドレスリンクになっていない状態です。 そのままではメールアドレスとして認識していないようでそのまま返信も出来ません。 NAME="email_account"を NAME="mail" とするともちろん「正しくメールアドレスを記入せよ」と出ます。 「email_account」「email_domain」と分けたアドレスを送信者のメールアドレスとして送信させるにはどうしたら良いでしょう。

  • メールフォームの送信元の表示のさせかた

    同じような質問を以前したのですがカテ違いのようなので再度質問させて頂きます。 レンタルcgiフォームメーラーで顧客から社にフォームを送ってもらうサイトを制作中です。 送信元(顧客の)メールアドレスの記入について疑問です。 <input type="text" name="mail"> とすると何の問題も無くフォーム受信でき、そのまま顧客側に返信できます。 しかし携帯アドレス用に下記のようなものを作ろうとしています。 <INPUT TYPE="text" NAME="email_account"> <SELECT name="email_domain"> <option value="@docomo.ne.jp">@docomo.ne.jp <option value="@ezweb.ne.jp">@ezweb.ne.jp <option value="@t.vodafone.ne.jp">@t.vodafone.ne.jp …………以下続く とすると、受信したフォームは 「email_account」「email_domain」 が分かれてしまい、アドレスリンクになっていない状態です。 そのままではメールアドレスとして認識していないようでそのまま返信も出来ません。 NAME="email_account"を NAME="mail" とするともちろん「正しくメールアドレスを記入せよ」と出ます。 「email_account」「email_domain」と分けたアドレスを送信者のメールアドレスとして送信させるにはどうしたら良いでしょう。

    • ベストアンサー
    • CGI
  • gmailで 別アドレスで送信ができない

    gmailで別アドレス(仮に,a@a.comとします)からメールを送ろうと, 設定>アカウントとインポート>名前>別のアドレスからメッセージを送信 で,他のメール プロバイダの SMTP サーバーを使用する方法で登録しました。 しかし,from に送信アドレスを選択するプルダウンが出てこないため,新しく設定したアドレスからの送信ができません。 また,設定>アカウントとインポート>名前 の項目にも, gmailのアドレスだけが表示されており,新しく設定したアドレスの表示がありません。 そこで,改めてアドレスを設定しようとしたところ 「既に a@a.com としてメールを送信できます。」と表示されてしまい, その先に進めません。 これは正しい動きなのでしょうか?どうすればa@a.comで送信できるのでしょうか? 大変困っています。よろしくお願いします。

  • 異なったメールアドレスでメールが届きました。

    迷惑メールを削除していたら、その中に「宛名」が私のメールアドレスでないものが2通届いていました。 @以降のメールドメインは合っているのですが、@の前のメールアカウントがどちらも「dilon」になっていました。(dilon@○○・・・・) これは、どういうことでしょうか。とても気持ち悪いです。どなたか、宜しくお願いいたします。

  • yahooアカウントアドレスへメールが送信できない

    緊急で質問をお願いします。 レンタルサーバーを使い、 独自ドメインのE-mailアドレスから yahooアカウントへメールが全く送信できません。 (かならずDelivery Failureとして戻ってきてしまいます。) Remote host said: 421 Message from (アカウントのIPアドレス) temporarily deferred - 4.16.50. こういったメッセージがついてきます。 レンタルサーバーの管理プロバイダはYahooが対処すべきとまったく取り合ってくれません。 一方YahooのカスタマーサポートはE-mailで対応が戻ってきますが、 アカウントの使用方法に注意を促すだけで 現状を回復させるための具体的な対処はとる気配がありません。 よろしくお願いします。

  • メールヘッダーについて

    perl5.8で メール送信した場合は、以下は必ず ASCII文字ということでしょうか? From, To, Bcc, Replay-To, Return-Path もし日本語が含まれていた場合の書式は以下のようになるということでしょうか? メールヘッダーにはJISに変換するだけでOK?でしょうか? MIMEにする必要があるのでしょうか? 日本語含まれる<test@example.com> <=== JISに変換するだけでOK?

    • ベストアンサー
    • Perl
  • 送信したはずのない知らない@からのの「メールエラー」?

    ここ数日、毎日5.6件、下記の内容のメールが送られてきます。 (1)このような@はありませんでした(送信エラー)といった内容。+英文ビッシリ 又は「エラーメッセージ」(英語で送信不可能でしたとゆう内容)のもの。 (2)その指定された@は知らない@。外人さんの名前のアカウントのようなものも有り。 (3)送り主は「私の@」なのです。(from;の所に私の@があったので)しかもプロバイダ契約の本@なのです。 (4)送信日時は身に覚えの無い時刻 送信者の@が私になってる時点で、誰かが私の@を使って沢山の人にスパムメールしてる?と非常に恐いのですが どうしたらいいでしょうか?早く対処しないと私の@で何か悪用されてしまうのでしょうか?

  • アドレスを間違えて送ったメール

    送信先のアドレスを間違えてしまいました。 普段は誤って書いてそのアドレスが存在しない場合はエラーで戻ってきます。 ところがそのドメインは@の前にどんなアドレスを記入しても エラーで戻ってきません。 ありえないような長いアドレスで試してもです。 もともと送ったメールには個人情報が入っていて 困ったなと思っています。 いったいどこに行ってしまったかお分かりになる方が いたら教えてください。