Как проверить, успешно ли почта mail() отправила почту

Как проверить, успешно ли отправлена ​​ mail() почта?

Ответ 1

Ну mail() просто возвращает логическое значение в зависимости от того, была ли почта успешно принята для доставки. С сайта php.net:

Возвращает TRUE, если почта была успешно принята к доставке, FALSE в противном случае.

Важно отметить, что только потому, что почта была принята для доставки, это НЕ означает, что почта действительно достигнет предполагаемого назначения.

Итак, вы можете проверить, не было ли оно "отправлено", однако проверка его доставки - это еще одна история.

Ответ 2

В соответствии с ответом Бена вы можете успешно проверить доставку электронной почты ниже

$result = mail('[email protected]', 'Test Subject', $message);
if(!$result) {   
     echo "Error";   
} else {
    echo "Success";
}

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

http://phpmailer.worxware.com/index.php?pg=tutorial

if(!$mail->Send()) {
  echo 'Message was not sent.';
  echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
  echo 'Message has been sent.';
}

Ответ 3

из документов:

"Возвращает TRUE, если почта была успешно принята к доставке, FALSE в противном случае.

Важно отметить, что только потому, что почта была принята для доставки, это НЕ означает, что почта действительно достигнет назначенного адресата. "

Ответ 4

Из http://php.net/mail

Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.

Ответ 5

Попробуй это:

if(@mail($emailRecipient, $subject, $message, $headers))
{
  echo "Mail Sent Successfully";
}else{
  echo "Mail Not Sent";
}

Ответ 6

Функция mail() сама по себе уведомляет вас о том, что установленная вами "электронная почта" является законной и будет отправлена ​​на ваш почтовый сервер.

Вы должны проверить отдельно, чтобы адрес электронной почты был законным. Хорошую статью можно найти здесь

Если эти два метода не работают для вас хорошо, вы можете использовать некоторый подход "спам", используя изображения и файлы журналов сервера.

Ответ 7

if (isset ($ _ POST ["btn_emp"])) {

//$hid_emp = ($_POST['hid_emp']);
$employee_name = ($_POST['employee_name']);
$department_id = ($_POST['department_id']);
$serial_number = ($_POST['serial_number']);
$employee_address = ($_POST['employee_address']);
$employee_contact = ($_POST['employee_contact']);
$employee_email = ($_POST['employee_email']);





$insert = "INSERT INTO tbl_employee(department_id,serial_number,employee_name,employee_address,employee_contact,employee_email)VALUES('$department_id', '$serial_number', '$employee_name','$employee_address' ,'$employee_contact', '$employee_email')";
//echo $insert;
//die();
if ($conn->query($insert) === TRUE) {
    //CODE FOR SEND MAIL
    $Mail_Admin_Message = '';
            $Mail_Admin_Message .= '
                <table width="700px" border="0" cellpadding="0" cellspacing="0">

                    <tr height="15px"><td colspan="3"></td></tr>
                    <tr>
                        <td colspan="3" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;">
                            Date</b> :<b> '. $serial_number .'</b>
                        </td>
                    </tr>
                    <tr height="15px"><td colspan="3"></td></tr>
                    <tr>
                        <td colspan="3" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;">
                            Hi</b> <b> '. $employee_name .'</b>
                        </td>
                    </tr>
                    <tr height="15px"><td colspan="3"></td></tr>
                    <tr>
                        <td colspan="3" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;">
                          Your Gift Voucher Code is</b> :<b> '. $department_id .'</b>
                        </td>
                    </tr>
                    <tr height="15px"><td colspan="3"></td></tr>
                    <tr>
                        <td colspan="3" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;">
                            Gift Amount</b> :<b> '. $employee_address .'</b>
                        </td>
                    </tr>
                    <tr height="15px"><td colspan="3"></td></tr>
                    <tr height="15px"><td colspan="3"></td></tr>
                    <tr>
                        <td colspan="3" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;">Thanks, <br />DairyKart Team</td>
                    </tr>
                </table>';

            $Mail_To_Admin_ID   = $employee_email;
            $Mail_Admin_Subject = "Employee Details";
            $Mail_Admin_Header  = "MIME-Version: 1.0\n";
            $Mail_Admin_Header .= "Content-type: text/html; charset=iso-8859-1\r\n";
            $Mail_Admin_Header .= "Content-Transfer-Encoding: 8bit\n";
            $Mail_Admin_Header .= "X-Priority: 1\n";
            $Mail_Admin_Header .= "From: Employee-Department Project\r\n";
            $Mail_Admin_Header .= "X-MSMail-Priority: High\n";
            mail($Mail_To_Admin_ID, $Mail_Admin_Subject, $Mail_Admin_Message, $Mail_Admin_Header);
            //echo $serial_number;
            //echo $employee_email;
            //die();
    echo "<script>alert('Successfully Added & Check Your Mail to know your Details.!!!'); window.location='add-employee.php'</script>";

Ответ 8

Вы можете использовать $_SERVER['REMOTE_ADDR'] в PHP для получения удаленного IP-адреса пользователя.

Используйте так:

<?php 

    $ip = $_SERVER['REMOTE_ADDR'];
    echo "User IP address is: ".$ip;

 ?>