2

戦いの後、梨の正しい場所を取得しても、私のコードはエラーを生成しません。それでも、メールは送信されません。電子メールの本文は、最初にデータをmysqlデータベースに入力し、次に同じデータを人に電子メールで送信するフォームから生成されます。人はそのデータを何にでも使用します。私はこのフォーラムや他のフォーラム(これが最高です)でたくさんの質問と回答を読みました。私が書いたコードのほとんどはこのフォーラムに触発されています。Gmailアカウントは有効で、パスワードは正しいです。どんな助けや提案も大歓迎です。

pearとpearmailがサーバーにインストールされ、機能しているようです(少なくともエラーは発生しません)。私のコードは次のとおりです。

   //Email process code


   ini_set('display_errors','on');
   error_reporting(E_ALL);
   /*
   require_once 'System.php';
  if(class_exists('System')===true) {
  echo 'PEAR is installed!';
  } else {
  echo 'PEAR is not installed :(';
   }
  */

  set_include_path('/home/surfcup/php/');
  require_once "Mail.php";


  $from = "<me@gmail.com>";
  $ToEmail = "<new@apdapalabs.com>"; 


  $EmailSubject = 'Hotel Registration Form'; 

  $host ="ssl://smtp.gmail.com";
  $port ="465";
  $username = "myAccount@gmail.com";
  $password =   "password";


  $headers = array ('From' => $from, 'To'=> $ToEmail, 'Subject'=> $EmailSubject);

  $smtp = Mail::factory('smtp',
    array ('host'=> $host,
           'port'=> $port,
           'auth'=> true,
           'username'=> $username,
           'password'=> $password));

  $MESSAGE_BODY = "Event: ".$Event."\n"; 
  $MESSAGE_BODY .= "Name: ".$realname."\n"; 
  $MESSAGE_BODY .= "Age Group: ".$Age."\n"; 
  $MESSAGE_BODY .= "Sex: ".$Sex."\n"; 
  $MESSAGE_BODY .= "Contact Name: ".$Contact_Name."\n"; 
  $MESSAGE_BODY .= "Contact Email: ".$Contact_Email."\n"; 
  $MESSAGE_BODY .= "Phone: ".$Phone."\n"; 
  $MESSAGE_BODY .= "Hotel Name: ".$Hotel_Name."\n"; 
  $MESSAGE_BODY .= "No Rooms: ".$No_Rooms."\n"; 
  $MESSAGE_BODY .= "Rate: ".$Rate."\n"; 
  $MESSAGE_BODY .= "Check In Date: ".$Check_In."\n"; 
  $MESSAGE_BODY .= "Check Out Date: ".$Check_Out."\n"; 
  $MESSAGE_BODY .= "Additional Info: ".$Add_Info."\n"; 



  $mail = $smtp->send($ToEmail, $headers, $MESSAGE_BODY);


        if (PEAR::isError($mail)){
            echo("<p>" . $mail->getMessage . "</p>");
            echo("\n");
            echo("<p>" . $mail->getDebugInfo . "</p>");

        }
4

1 に答える 1

1

GMAIL 経由の送信に関して私が見たほとんどのエラーは、自分のサーバーで OpenSSL が有効になっていないことです。php.ini で拡張機能が有効になっていることを確認します

(また、失敗した場合に備えて「smtp」をエラーチェックできますか。)

于 2012-05-23T00:38:36.093 に答える