Имейлът е изпратен! Но не е получено във входящата кутия. PHP -› локален хост -› XAMPP -› Уеб сървър

Ето моите конфигурационни файлове.

sendmail.ini

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=(Correct SMTP Server)

; smtp port (normally 25)

smtp_port=25

php.ini

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = (Correct SMTP Server)
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = (user@(server.com)) <- correct name

PHP код

<?php
$from_name = "testing";
$from_email = "[email protected]";
$headers = "From: $from_name <$from_email>";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$body = "Hi,\nThis is a test mail from $from_name <$from_email>.";
$subject = "Test mail from test";
$to = "[email protected]";

if (mail($to, $subject, $body, $headers)) {
  echo "success!";
} else {
  echo "fail…";
}
?>

Когато стартирах кода, той наистина казва, че имейлът е изпратен, но когато проверих имейла, няма нищо за получаване... моля, помогнете! благодаря ви, ще предоставя възможно най-много подходяща информация, за да разреша този проблем.


person user127886    schedule 12.04.2012    source източник
comment
Изпращате ли го до голям домейн (напр. gmail, aol, yahoo)? Ако е така, изпращането на поща без предприемане на определени стъпки (правилен DNS, негенерично име на хост за вашия IP) ще увеличи резултата ви за спам. Освен това удостоверявате ли се със SMTP сървъра, ако го изисква?   -  person drew010    schedule 12.04.2012
comment
Имате ли настроен MX запис?   -  person blake305    schedule 12.04.2012
comment
@drew, изпращам го на имейла на Microsoft Outlook на компанията. Не се удостоверих с SMTP сървъра, защото не изисква потребител и парола за удостоверяване.   -  person user127886    schedule 12.04.2012
comment
@blake Извинете липсата ми на знания, сър, но какво е настройката на MX запис?   -  person user127886    schedule 12.04.2012


Отговори (2)


Ако тествате това от вкъщи или малък офис, тогава вашият интернет доставчик вероятно ще блокира изходящия трафик на порт 25. Вашият PHP няма да се провали, но вашето съобщение ще бъде блокирано. Ще трябва да се свържете с външен SMTP сървър на друг порт, като например 465 или 587. Консултирайте се с уебсайта на вашия интернет доставчик за подробности относно това, което позволяват.

person Resist Design    schedule 12.04.2012
comment
Resist, опитах и ​​465, и 587 номер на порт. Не работи и не, не тествам от вкъщи или малък офис. В момента работя в MNC. Има ли друг начин да подходя към това? Благодаря ти - person user127886; 12.04.2012
comment
Добре, последна актуализация: Използвах моя личен адрес за Hotmail, за да изпратя до имейла на компанията и се получи. Обратно, използвах имейла на моята компания, за да изпратя теста на моя личен hotmail адрес. Това показва, че компанията не блокира изходящия трафик, какъв може да е проблемът сега? Някой? Благодаря ти! - person user127886; 12.04.2012

Ако се вгледате внимателно, ще видите, че липсва конкатенация на втората ви променлива $header, следователно не изпращате заглавката „От:“, което вероятно е причина за отхвърляне на имейла.

person Dan    schedule 30.06.2013