php send mail kod çalışmıyor

6 Cevap sendmail
$to = "jijodasgupta@gmail.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
if (mail($to, $subject, $body)) {
  echo("pMessage successfully sent!/p");
} else {
  echo("pMessage delivery failed.../p");
}

Ama bana aşağıdaki hatayı veriyor temel php sendmail kodu yazmış:

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\mail.php on line 5 Message delivery failed...

I changed the `php.ini file and putsendmail_from=jijodasgupta@gmail.com` but still the problem persists. Writing the mail script for the first time.

Ben yanlış bir şey yapıyorum? Bunu yapmak için daha iyi bir yolu var mı?

6 Cevap

ek_başlıklar (isteğe bağlı)

String to be inserted at the end of the email header.

This is typically used to add extra headers (From, Cc, and Bcc). Multiple extra headers should be separated with a CRLF (\r\n).

Note: When sending mail, the mail must contain a From header. This can be set with the additional_headers parameter, or a default can be set in php.ini. Failing to do this will result in an error message similar to Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. The From header sets also Return-Path under Windows.

Umarım yardımı olur.

Öncelikle, doğru php.ini düzenleyen kontrol - php.ini konumu da dahil, script çıktı tanı bilgisine phpinfo(); ekleyin. Ayrıca burada çok yapılandırılmış "sendmail_from" değer görmek gerekir.

Aksi taktirde bir başlık itibaren, belirtildiği gibi usoban sağlamak

$hdrs="From: jijodasgupta@gmail.com";
mail($to, $subject, $body, $hdrs);

Eğer doğru php.ini düzenlenmiş ve bu değişikliği yansıtır yoksa sunucu başladığında birçok ortamlarda sadece php.ini yük gibi, size, web hizmetini yeniden başlatmak isteyebilirsiniz.

Ben aynı sorun koştu ve benim sunucu ben başlıklarını kendi belirtilmiş olsa bile e-posta adresinden gibi account@servername kullanarak çünkü sona erdi.

Ben başka bir yerde buldum cevabı ben Belirtilen e-posta adresi kullanmak için sistemi zorlamak için posta Aramaya 5 parametre eklemek oldu:

$from = 'fromemail@domain.com'
$xheaders = "From: " . $from . " <" . $from . ">\n"; 
$i = mail("$useremail","$subject","$content",$xheaders,'-f fromemail@domain.com'); 

Aksine php.ini içinde formu adresini ayarlamak yerine, sadece usoban gibi başlıklardaki göndermek yerine söyledi.

Eğer aynı kurulum üzerinde başka bir siteyi barındırmak ve başlıklarını dahaki sefere ayarlamayı unutmayın Bu size baş ağrısı kurtaracak.

PHP mail () fonksiyonu sorunların bir sürü oluşturur. Nihayet bu sunucuda çalışan olsun, size e-postalar kullanıcıların spam klasörlerinde sona göreceksiniz.

Ben bu PHP SMTP kütüphanelerinden birini yerine kullanarak posta göndermek için tavsiye ederim:

  • PHPMailer - de facto standart
  • http://swiftmailer.org/ - Bir daha modern bir yaklaşım, henüz küçük bir kullanıcı tabanı