2016-05-31 10 views
0

EDIT:コードはWebサーバー上でのみ動作し、localhostでは動作しません。PHPMailerは1つのページで動作しますが、類似していません

だから、それはこのようにすべきであるとして、私のPHPコードが動作します。この最初のスクリプトは自分自身に電子メールを送信しますが、でもそれは($ mail->は、(送信ここでは動作しません

require 'PHPMailer/PHPMailerAutoload.php'; 
    $nome = $_POST["nome"]; 
    $subject = $_POST["subject"]; 
    $message = $_POST["message"]; 
    $email = $_POST["email"]; 
    $contacto = $_POST["contacto"]; 
    $body = "<p>Mail recebido de: </p>" . $nome . "<p>Email:</p>" . $email . "<p> Contacto:</p>" . $contacto . "<p>Mensagem:</p>" . $message ; 
    $mail = new PHPMailer(); 
    $mail->CharSet = "text/html; charset=UTF-8;"; 
    $mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only 
    $mail->CharSet = 'UTF-8'; 
    $mail->SMTPAuth = true; 
    $mail->SMTPSecure = 'ssl'; 
    $mail->Host = "smtp.gmail.com"; 
    $mail->Port = 587; 
    $mail->Username = "the email"; 
    $mail->Password = the password; 
    $mail->SetFrom('the email', 'Organizer'); 
    $mail->Subject = "[ORÇAMENTO] " . $subject; 
    $mail->Body = $body; 
    $mail->IsHTML(true); 
    $mail->AddAddress("the email"); 
    if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    $sucesso = 'Mensagem enviada com sucesso!'; 
} 

を)= 1 、まだ私は電子メールを受信しません):私は、データベースから取得するすべての変数をテストしているというように、彼らはすべて正しい

require '../PHPMailer/PHPMailerAutoload.php'; 
      $body = "<p>Car(a) " . ${'user' . $i} . ",</p> <p> Foi lhe associado(a) uma nova ocorrência. Consulte-a em http://www.organizer.com.pt . </p>"; 
      $mail = new PHPMailer(); 
      $mail->CharSet = "text/html; charset=UTF-8;"; 
      $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only 
      $mail->CharSet = 'UTF-8'; 
      $mail->SMTPAuth = true; 
      $mail->SMTPSecure = 'ssl'; 
      $mail->Host = "smtp.gmail.com"; 
      $mail->Port = 587; 
      $mail->Username = "the email"; 
      $mail->Password = the password; 
      $mail->SetFrom('the email', 'Organizer'); 
      $mail->Subject = "Nova Ocorrência"; 
      $mail->Body = $body; 
      $mail->IsHTML(true); 
      $mail->AddAddress($email); 
      if(!$mail->Send()) { 
      echo "Mailer Error: " . $mail->ErrorInfo; 
      } else { 
      $sucesso = 'Mensagem enviada com sucesso!'; 
      } 

、私はいくつかの理由でメールが届きません。誰でも助けることができますか?

P .:申し訳ありませんが、これはポルトガル語で書かれていますが、コードはまだ完全に理解できると思います。

+0

エラーメッセージはありますか? –

+0

いいえ、おそらくメールが送られているので、私は理解しません。 – Manuel

+0

チェックインスクリプト2 ... "require '' ../PHPMailer/PHPMailerAutoload.php ';" OR "が必要です 'PHPMailer/PHPMailerAutoload.php';" –

答えて

0

「機能しません」は、問題のある説明として役立ちません。それで、詳細はすべてです。

古くなった&の例にコードを基づいていて、ドキュメントを読んでいないと助けになりません。また、PHPMailerの古いバージョンを使用していると思われます。最近のバージョンだった場合は関連するドキュメントに追加してください。したがって、他のものの前には、get the latest versionread the docsです。

特定の問題:SMTPSecure = 'ssl'Port = 587の場合は動作しません。ポート587は暗黙のSSLではなくSMTP + STARTTLSに使用されるため、SMTPSecure = 'tls'と設定します。

これは単に間違っている:

$mail->CharSet = "text/html; charset=UTF-8;"; 

あなたの他のスクリプトは、それが正しいん:

$mail->CharSet = 'UTF-8'; 

デバッグオプションを持っているものとの問題がある場合は、それを有効に!

$mail->SMTPDebug = 2; 

初期接続に問題がある場合は、3に増やしてください。

私はそのサンプルコードがどこにあるのか知りたいので、著者に削除または更新を依頼することができます。壊れた古くなった例をみんなの時代に浪費しています。

関連する問題