メールアドレスのチェック (PHP)

フォームなどから入力されたメールアドレスを示す文字列が妥当かどうかをチェックするための正規表現を使ったチェック関数です。

function valid_mail($email){
	if (preg_match("/^[_a-z0-9-]+(¥.[_a-z0-9-]+)*@[a-z0-9-]+([¥.][a-z0-9-]+)+$/i", $email)){
		return true;
	}else{
		return false;
	}
}

簡易的なものですが、ないよりはましということで。
docomoなどは少々イレギュラーなメールアドレスの取得を容認してきた過去があるので、あまり厳密にするのも現実的ではないかもしれません。

sendmailで改行が増える? (PHP)

PHPからsendmailを使ってメールを (メールフォームなどから) 送る際に、pop受信時のみ、改行がなぜか増えてしまうことがありました。Webメールなどではそういう現象なかったので調べてみましたが、改行コードの扱いの違いが原因らしいことがわかりました。
このサイトを参考に以下のように改行コードを修正、統一することで無事に解決しました。

$s = str_replace(array("\r\n", "\r"), "\n", $s);

例では文字列を$sとしています。上記の様に文字列中の改行コードを統一して対応しました。