Php Mailer gönderme hatası

2 Cevap php

Ben projemde Posta Modülü yazma ve benim gmail hesabına test e-posta göndermek için PHPMailer kullanmaya karar duyuyorum. Ancak, aşağıdaki hata msg ile sonuna kadar.

SMTP server error: "Your IP: 221.253.178.1 : Your domain myserver.com is not allowed in 550 header From"

Benim kodları aşağıdaki gibidir:

<?php

require_once('phpMailer/class.phpmailer.php');

$mail             = new PHPMailer(); // defaults to using php "mail()"

$body             = "Hello World";

$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth   = true;                 // enable SMTP authentication
$mail->Host       = "mail.myserver.com";  // sets SMTP server
$mail->Username   = "ttcg+myserver.com";  // username
$mail->Password   = "xxxxx";              // password
$mail->Port       = 26;           // sets PORT

$mail->SetFrom('ttcg@myserver.com', 'ttcg');

$address = "ttcg2000@gmail.com";
$mail->AddAddress($address, "TTCG");

$mail->Subject    = "PHPMailer Test Subject via mail(), basic";

$mail->MsgHTML($body);

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

?>

Birisi bu konuda bana yardımcı olabilir? Teşekkürler.

2 Cevap

Aşağıdaki birine size sınıfı değiştirmek

<?php

require_once('phpMailer/class.phpmailer.php');

$mail             = new PHPMailer(); // defaults to using php "mail()"

$body             = "Hello World";

$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth   = true;                 // enable SMTP authentication
//$mail->Host       = "mail.myserver.com";  // sets SMTP server
$mail->Host       = "mail.gmail.com";  // sets SMTP server
//$mail->Username   = "ttcg+myserver.com";  // username
$mail->Username   = "your gmail account";  // username
$mail->Password   = "xxxxx";              // password
//$mail->Port       = 26;           // sets PORT
$mail->Port       = 567;           // sets PORT
//remember google uses secure server

$mail->SetFrom('ttcg@myserver.com', 'ttcg');

$address = "ttcg2000@gmail.com";
$mail->AddAddress($address, "TTCG");

$mail->Subject    = "PHPMailer Test Subject via mail(), basic";

$mail->MsgHTML($body);

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

?>

Bunu kurmak için birden fazla yolu vardır eminim, ama ben senin kod ben kullanmak ne ölçüde farklı olduğunu görüyoruz. Belki bu deneyin ve size daha iyi sonuçlar verir eğer farklı bir sürümünü kullanıyorsanız ya değilse ben emin, arada PHP değil 5 kullanıyorum görebilirsiniz:

     require_once "Mail.php";
     $from = "you <you@gmail.com>";
     $subject = "message_subject";
     $body = "message_body";
     $host = "ssl://smtp.gmail.com";
     $port = "465";
     $username = "you@gmail.com";
     $password = "server_password"; //this is a LAMP server

     $headers = array('From' => $from, 'To' => $to, 'Subject' => $subject);
     $smtp = Mail::factory('smtp', array('host' => $host, 'port'=> $port, 'auth' => true, 'username' => $username, 'password' => $password));
     $mail = $smtp->send($to, $headers, $body);//Some obvious variables
     if(PEAR::isError($mail))
     {
             echo("<p>" . $mail->getMessage() . "</p>");

     } 
     else
     {
             header("Location: Success.php");//Redirect page for success
     }