ホームページ > バックエンド開発 > PHPチュートリアル > PHP を正しく使用してメールを送信する方法_PHP チュートリアル

PHP を正しく使用してメールを送信する方法_PHP チュートリアル

WBOY
リリース: 2016-07-15 13:31:51
オリジナル
796 人が閲覧しました

PHPメール送信関数のアプリケーションコード例:

  1. #echo send_mail($_POST["email"],$tosubject,$_POST["errortext"]);
  2. echo send_mail('someone@126.com',' のテストメールのみ) php メール関数をテスト','スパム');
  3. function send_mail($to, $
  4. subject
  5. =
  6. ' subject' ) 、 $body) { $loc_host
  7. =
  8. "mail.server" // コンピューター名を任意に送信します $smtp_ acc
  9. =
  10. 「smp @163.com"; //Smtp 認証されたユーザー名 $smtp_pass
  11. =
  12. "pwdpwd"; //Smtp 認証されたパスワード、通常は Pop3 パスワードと同等です $ smtp_host=
  13. "smtp.163.com"; // smtp.tom.com $from=" smp@163.com"
  14. ; に似た SMTP サーバー アドレス//送信者のメールアドレス、送信者のメールアドレス $deliver=$smtp_acc; // 指定されたメールアドレスに返信
  15. $headers = " Content-Type: text/ plain; charset="gb2312
  16. "rnContent-Transfer-Encoding:base64"; $lb="rn"
  17. ; //改行 $hdr = explode
  18. ($lb,$headers); //解析されたhdr if($body) {$bdy = preg_replace
  19. ("/^./", "..",explode($lb,$body));}//解析された本体 $smtp
  20. = array
  21. ( //1 、イーロ、220 または 250 を返すことが期待されます array("EHLO ".$loc_host.$lb,"220,250","HELO error: "),
  22. //2 、認証ログインを送信します、334 が返されることが期待されます
  23. array("AUTH LOGIN".$lb,"334","AUTH error:"),
  24. //3。Base64 でエンコードされたユーザー名を送信します。Return 334 を期待します
  25. array(base64_encode($) smtp_acc).$lb,"334","認証エラー : "),
  26. //4。Base64 でエンコードされたパスワードを送信すると、235
  27. array(base64_encode($smtp_pass).$ が返されることを期待します。 lb,"235","認証エラー : "));
  28. //5。メールの送信元、250 を返すことを期待しています
  29. $smtp[] = array(" MAIL FROM: <
  30. ".$from.">
  31. ".$lb,"250","MAIL FROM エラー: "); //6. 受信者の送信先。250 を返すことが期待されます
  32. $smtp[] = array("RCPT TO: <".$to.">".$lb,"250","RCPT TO error : ");
  33. //7. DATA を送信すると 354 が返されると予想されます
  34. $smtp[] = array("DATA".$lb,"354","DATA error: ");
  35. //8.0、送信元
  36. $smtp[] = array("From: ".$deliver.$lb,"","");
  37. $ smtp[] = array("To: ".$to.$lb,"","");
  38. //8.1. タイトルを送信
  39. $smtp[] = array(" Subject: ". $subject.$lb,"","");
  40. //8.3. 他のヘッダーコンテンツを送信
  41. foreach($hdr as $h) {$smtp[] = array($ h.$lb ,"","");}
  42. //8.4. 空行を送信し、ヘッダー送信を終了します
  43. $smtp[] = array($lb,"","") ;
  44. //8.5. レター本文を送信
  45. if($bdy) {foreach($bdy as $b) {$smtp[] = array(base64_encode($b.$lb).$lb ,"","" );}}
  46. //9. 250 を返すことを期待して "." を送信します
  47. $smtp[] = array(".".$ lb,"250","DATA(end) エラー: ");
  48. //10。送信終了、終了、221 を返すことを期待します
  49. $smtp[] = array("QUIT".$lb ,"221","QUIT エラー: ");
  50. //SMTP サーバーのポートを開きます
  51. $
  52. fp
  53. = @fsockopen($smtp_host, 25);
  54. if (!$fp) echo "< b>
  55. エラー:b> ".$smtp_host." に接続できません< br&g t;"; while($result = @fgets($fp, 1024)){if(substr($result,3,1) == " " ) { ブレーク }}
  56. $result_str
  57. =""
  58. //コマンド/データを smtp 配列で送信します。 foreach($ smtp as $req){ //メッセージを送信
  59. @fputs($fp, $req[0]); サーバーから返された情報を受信する必要がある場合は、
  60. if($req[1]){
  61. // 情報を受け取る
  62. while($
  63. result = @fgets($fp, 1024)){
  64. if (部分文字列($result,3,1) == " ") { ブレーク; }
  65. if (!strstr($req[1],substr($result,0,3));
  66. $result_str.=$req[2].$result."<
  67. br>
  68. ";
  69. }
  70. }
  71. //接続を閉じます @fclose($ fp); return $result_str;
  72. コード例は誰にでも提供できますPHP のメール送信機能の使い方を完全に理解します。
  73. www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446174.html技術記事 PHP メール送信関数のアプリケーション コード例: #echosend_mail($_POST[email],$tosubject,$_POST[errortext]); echosend_mail('someone@126.com','onlyatestmailfortestphpmailfunction','An email...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート