PHP posta bir script çalışan, ancak başka yaramadığını

1 Cevap php

Ben gayet iyi çalışıyor ve posta cezası gönderen bir php dosyası içinde küçük bir php mailler komut dosyası var:

$subject = "subject"; 
$mail_body = "mail body";
$name = "noreply";
$email = "noreply@domain.com";
$recipient = "somebody@domain.com";
$header = "From: ". $name . " <" . $email . ">\r\n";
mail($recipient, $subject, $mail_body, $header);

Ben bu Çıkış almak ve bunu kendi dosyası yapmak, ya da farklı bir dosyaya koydu, ancak çalışmıyor. Orada hiçbir hata mesajları ve e-posta gönderilmez.

Php ini set komutları ve hiçbir dahil php dosyaları vardır.

Bu büyük php komut dosyası çalışır, ama neden herhangi bir fikir kendi başına çalışmıyor?

1 Cevap

Herşey sizin kodu ile OK. Ben sadece (- Outlook Exchange sunucusu ve bir Hotmail adresine sahip başka bir testinde - hem de iyi çalıştı ve benim doğuştan ulaştı benim kurumsal e-posta ile test) benim adresi ile $ alıcı olarak e-posta adresini değiştirme ve iyi çalıştı tarafından test edilmiştir.

  • Ama $ mail_body yeni hat "\ n" ve not "\ r \ n" olduğundan emin olun. Eğer message parametresi hakkında dokümanlar okuyabilirsiniz gibi:

Each line should be separated with a LF (\n). Lines should not be larger than 70 characters.

  • Emin $ isim ve $ e-posta yapmak yapar not <> gibi yasak karakterler ve yeni çizgiler (\ r \ n veya \ r \ n) içerir. Michael yeni satırları işaret ettiği gibi email injection saldırılarına orada yol açabilir. Eğer iletişim formu spam bir mail platformu olarak kullanılmak istemiyorum!

Sen PHPMailer mail(), gelişmiş e-posta için oldukça zor beri geliştirme kolaylığı hangi gibi bir e-posta kütüphanesi kullanarak düşünmelisiniz. Bu kütüphanelerin çoğu zaten bu saldırıları ve standartları kapsayacak ...