Php email не работает ошибка - PullRequest
       10

Php email не работает ошибка

0 голосов
/ 27 августа 2011

Я использую xampp 1.7.4 (PHP 5.3.5), и когда я отправляю электронные письма на мой электронный адрес, он работает. и даже я использовал почтовый сервер в качестве примера его не работает. ниже код.

<?php
    ini_set("SMTP","mail.sweetinteractive.com");
    $suc = mail("uzair@sweetinteractive.com","Learning PHP","Message is not working ","From: uzair@sweetinteractive.com");
    if($suc){
        echo "Mail sent";
    } else {
        echo "Mail sending Failed.";
    }
?>

И даже я попробовал поработать с нашим почтовым сервером. Но его показ и ошибка

Warning: mail() [function.mail]: SMTP server response: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1) in C:\xampp\htdocs\LearnPhp\email1.php on line 3

Ответы [ 5 ]

1 голос
/ 27 августа 2011

Кажется, вам не хватает заключительной цитаты в заголовке "От:".

0 голосов
/ 30 августа 2011

Пожалуйста, настройте файлы php.ini и sendmail.ini в папке xampp.

Во-первых: необходимо изменить поля в php.ini (rootdrive: \ xampp \ php \ php.ini)


(Примечание: точка с запятой ';' означает комментарии в INI-файлах)

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = mail.sweetinteractive.com
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = uzair@sweetinteractive.com

второй шаг: изменить файл sendmail.ini (корневой каталог: \ xampp \ sendmail \ sendmail.ini)


примечание: удалите точку с запятой (;), заполните поля ниже и внесите изменения в файл sendmail.ini

smtp_server=mail.sweetinteractive.com

; smtp port (normally 25)

smtp_port=25

auth_username=uzair@sweetinteractive.com
auth_password=give your password here without any quotes

Я считаю, что это должно сработать.Поскольку вы не предоставляете никаких параметров аутентификации в предыдущем посте.

Примечание: после внесения изменений в файлы php.ini и sendmail.ini остановите службу apache из панели управления Xampp и запустите ее снова.

и ваш php код


<?php
    ini_set("SMTP","mail.sweetinteractive.com");
    $suc = mail("uzair@sweetinteractive.com","Learning PHP","Message sending will work now","From: uzair@sweetinteractive.com");
    if($suc){
        echo "Mail sent";
    } else {
        echo "Mail sending Failed.";
    }
?>
0 голосов
/ 27 августа 2011

У вас есть два варианта:

Измените имя хоста вашей системы на полное доменное имя (немного экстремально для этой операции и может даже не быть возможным в вашей настройке, в зависимости от многих факторов), или используйте PEAR :: Mail или подобный подход, который позволяет указать имя, используемое в HELO / EHLO.

0 голосов
/ 27 августа 2011

Убедитесь, что SMTP в вашем php.ini указан правильно и соответствует вашему почтовому серверу.

0 голосов
/ 27 августа 2011

Ваша система должна отправить так называемое полное доменное имя, см. http://tools.ietf.org/html/rfc2821#section-4.1.1.1

Скорее всего, это параметр защиты от спама на вашем почтовом сервере - он запрещает "обычным" клиентским машинам отправлять письма напрямую, что часто используется вредоносными программами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...