Функция рассылки PHP

0

В нижеприведенном коде я пытаюсь использовать функцию PHP mail, где агент после регистрации на моем сайте получит почту в своей учетной записи. Но код для функции рассылки, который я использовал, не работает. Мой сайт в прямом эфире, и я тестирую на реальном сервере. Может ли кто-нибудь просто взглянуть и вести меня, где я ошибаюсь.

После заполнения всех деталей, когда я нажимаю кнопки регистрации, он всегда выполняет часть else

<?php
if(isset($_POST['reg_agent']))
{
$agent_name = $_POST['agent_name'];
$agent_name = mysql_real_escape_string($agent_name);
$agent_email = $_POST['agent_email'];
$agent_email = mysql_real_escape_string($agent_email);
$agent_password = $_POST['agent_password'];
$agent_password = mysql_real_escape_string($agent_password);

$subject = "Activate Your Account";
$message = "Dear ".$agent_name.", \n
Thank you for registering at our website, http://www.*****.com!

You are two steps away from logging in and interacting with our site.

To activate your membership, please click here: http://www.*****.com/agent.php?agent_email=$agent_email

Once you activate your membership, you will be able to login with the following information:
Email-Id: ".$agent_email."
Password: ".$agent_password."

Thanks!
******

This is an automated response, please do not reply!";
$header = "[email protected]";
$retval = mail ($agent_email,$subject,$message,$header);

if($retval == true)
{
 mkdir("agents/".$agent_name);
   mysql_query("INSERT INTO 'agent_job_status'(agent_name, agent_email, agent_mobile, agent_password, agent_city, agent_location)
                    VALUES ('$agent_name', '$agent_email', '$agent_mobile', '$agent_password', '$agent_state3', '$agent_location')");

    echo '<div class="alert alert-success signin"  style="text-align: center;"><button type="button" class="close" data-dismiss="alert">&times;</button>';
    echo 'Congrats! <strong>"'.$agent_name. '"</strong> you have successfully created your account &nbsp;&nbsp; 
    Your membership information has been mailed to your email address! Please check your email and follow the instructions!' ;
    echo '</div>';

}
else{
    echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">&times;</button> ';
    echo mysql_error() ;

    echo '</div>';
    echo '<div class="alert alert-success signin" style="text-align: center;">
            <button type="button" class="close" data-dismiss="alert">&times;</button>';
    echo "Message could not be sent...";
    echo "</div>";
}

}
?>
  • 0
    К сожалению, это пример из учебника, как не отправлять электронную почту с PHP. Я бы посоветовал вам отказаться от этого и начать заново. Не используйте функции mysql_* . А PHP 4.1.8 ?? Это 13 лет устарело!
  • 0
    Его версия PHP 5.4.33
Показать ещё 2 комментария
Теги:
phpmailer

2 ответа

0

У меня была такая же проблема, мне пришлось установить "sendmail" для ее решения. На linux он установлен таким образом:

sudo apt-get install sendmail
  • 0
    что насчет окон ... Есть идеи по этому поводу.
  • 0
    Вы найдете его версию для установки на Windows.
0

1) Недопустимый дополнительный заголовок, который вы отправляете в $header. Предполагая, что вы означали [email protected] как адрес "От", ваша переменная заголовка должна быть:

$header = 'From: [email protected]';

2) Если в этом случае вы используете gmail SMTP, ваше сообщение имеет высокую вероятность блокировки как спама. Это потому, что ваш адрес "От" не будет соответствовать серверу, который действительно отправляет сообщение. Чтобы повысить вероятность того, что ваше сообщение действительно будет доставлено, у вас должен быть адрес From, соответствующий вашему домену, и введите ваш адрес gmail как ответ-ответ, например:

$header = 'From: no-reply@***yourdomain***.com' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" . 

Ссылка: http://php.net/manual/en/function.mail.php

  • 0
    Должен ли я добавить MIME-версию и Content-Type
  • 0
    Если вы хотите отправить HTML письмо по электронной почте, да. В противном случае нет.
Показать ещё 14 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню