2011-01-25 27 views
0

私はPHPには全く興味がありません。電子メールアドレスを検証してIBMドメインのみを取得するにはどうすればよいですか?有効なアドレス:PHP電子メールIBM電子メールのみの検証(ワールドワイド)

[email protected] 
[email protected] 
[email protected] 
[email protected] 

PHPは上記のいずれかを受け入れる必要があります。

その後、正規表現で検証@に

おかげ

+1

いつもどおり:もう何を試しましたか? –

+3

あなたは正規表現を見たいと思うでしょうが、私は正規表現が最もよく習得され、手作業ではないことを伝えるときに私は経験から発言します。試してみてください。http://php.net/manual/en/function.preg-match.php – FatherStorm

答えて

0

スプリットを助けてください。あなたは電子メールのヘッダからもらったメールアドレスはすなわち有効であれば

list($username,$domain) = explode('@',$email); 
if (preg_match('/ibm\.com$/',$domain)) 
{ 
    echo "yup it's ibm."; 
} 
+0

あなたは魚を歓迎します。 –

+1

実際には、if(preg_match( '/ \ .ibm \ .com $ /'、$ domain)) 'をしたくないですか?それ以外の場合は[email protected]と一致しますか? –

+0

正規表現を '(\。| ^)'で始める必要があります。これは、 'xxx @ bibm.com'での誤検出を避けるためです。 – webbiedave

0

最初に確認することは、次のとおりです。

その後
John Adams <[email protected]> 
"John Adams" <[email protected]> 
[email protected] 

それがでIBMドメインから来た場合は、確認することができます。

if(preg_match('/@([a-z]{2}\.)?ibm.com/i', $emailaddress)) { 
    # email is from an ibm domain 
} 

最後に、これは難しい部分です。IBMが所有するサーバーから電子メールが送信されたことを確認してください。私も、「[email protected]」というメールをFromフィールド。

IBMの電子メールサーバーのすべてのIPアドレスを一覧表示し、電子メールのヘッダーフィールドを使用して電子メールが発信されたかどうかを確認できます。または、サーバーがSPFチェックを行っている場合は、電子メールのReceived-SPFフィールドが「合格」であるかどうかを確認できます。