Mail fonksiyonu örneğini olamazdı.

13 Cevap php

Im PHPMailer, bu hata mesajı alıyorum im aracılığıyla posta göndermeye çalışırken. Benim kod aşağıda. Yardım

CODE :

<?
require("phpmailer/class.phpmailer.php"); // First we require the PHPMailer libary in our script
$mail = new PHPMailer(); // Next we create a new object of the PHPMailer called $mail
$mail->From = "rajasekar.kcet@gmail.com";
$mail->FromName = "Rajasekar";
$mail->AddAddress("rajasekar.kcet@gmail.com"); // This is the adress to witch the email has to be send.
$mail->Subject = "First PHP Email message"; // This is the subject  of the email message.
$mail->Body = "Hi! \n\n This is my first e-mail sent through PHP."; // This is the actual email message
if(!$mail->Send()) // Now we send the email and check if it was send or not.
{
   echo 'Message was not sent.';
   echo 'Mailer error: ' . $mail->ErrorInfo;
}
else
{
   echo 'Message has been sent.';
}
?>

Yardım plz Herhangi bir öneri son derece takdir edilecektir

13 Cevap

In Ubuntu (at least 12.04) it seems sendmail is not installed by default. You will have to install it using the command sudo apt-get install sendmail-bin

Ayrıca yukarıda belirtildiği gibi bunun için uygun izinlere yapılandırmanız gerekebilir.

Ben bu kod satırı kullanılır

if($phpMailer->Send()){

    echo 'Sent.<br/>';

}else{

    echo 'Not sent: <pre>'.print_r(error_get_last(), true).'</pre>';

}

sorunun ne olduğunu öğrenmek için. Ben güvenli modda çalışıyor, ve hat 770 falan, beşinci argüman içinde $params, çalışırken desteklenmez ki, mail() verildi güvenli çıkıyor, modu. Ben sadece bunu yorumladı, ve voila, o amele:

$rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header/*, $params*/);

Bu PHPMailer ve MailSend-işlev içinde bulunuyor.

Ben sadece sendmail kurulumdan sonra tüm olması gerektiği gibi çalışıyordu, yüklü was'nt log bu sorunu vardı ve benim apache hata buldum!

root@web1:~$ tail /var/log/apache2/error.log
sh: 1: /usr/sbin/sendmail: not found

this çözüm sahipsiniz. Bu benim aynı hata çözüldü. Bu zafer benim değil, benim blog girişi değil.

Aynı sorun vardı. Sadece hızlı bir apache2 bakmak error.log dosya yaptım ve sorun tam olarak ne söyledi:

> sh: /usr/sbin/sendmail: Permission denied

Peki, çözüm (php erişilebilir değildi) /usr/sbin/sendmail dosyası için doğru izinleri vermek oldu.

Bunu yapmak için komut olacaktır:

> chmod 777 /usr/sbin/sendmail

bile var emin olun!

SMTP e-posta göndermek için kullanmayı deneyin: -

$mail->IsSMTP();
$mail->Host = "smtp.example.com";

// optional
// used only when SMTP requires authentication  
$mail->SMTPAuth = true;
$mail->Username = 'smtp_username';
$mail->Password = 'smtp_password';

Bu bir sistem hatası.

Sistemin hata ile Giriş:

tail /var/log/httpd/error_log

Herhangi bir neden olabilir.

i (wamp için) benim sorun giderilmiştir

    $mail->IsSMTP(); 

    $mail->Host='hote_smtp'; 

Doğru değerine göre Corse değişikliği hote_smtp

Ayrıca PHPMailer ile geliyor smtp sınıfı dahil emin olun:

// for mailing
require("phpmailer/class.phpmailer.php");
require("phpmailer/class.smtp.php");

Gmail olmayan bir adresi deneyin. Onlar posta göndermek için (bildiğim kadarıyla) smpt erişime izin vermez. Geçen hafta, basit bir posta programı yapıyordu ve onlar da göndermek için varsayılan bağlantı noktalarını kullanmak Yüklü ve https arasında taşıma gerektirir

"Örnek mail fonksiyonu olamazdı" (Posta uzantısı) postaya () çağrısı başarısız olduğunu rapor PHPMailer yoludur. (Yani 'posta' mailler kullanıyoruz.)

Aramalar :: PHPMailer in () MailSend posta ve varsa, hataları sessizce atılır ediliyor, ne görmeye önce @ s kaldırarak deneyebilirsiniz.

Onlar gönderilen e-postaları herhangi bir saatlik limitleri varsa görmek için ev sahibi ile kontrol edin.

Localhost üzerinde çalışıyor musunuz? sunucu üzerinde deneyin.