2017-02-15 6 views
0

У меня есть сайт и есть контактная форма. Мой код ниже:Phpmailer не отправляет электронную почту в том же домене

$name = $_POST['name']; 
$email = $_POST['email']; 

$mail = new PHPMailer(true); 

if (!$mail->addAddress('[email protected]','email')) { 
    die('Invalid email address'); 
} 
$mail->isSMTP(); 
//$mail->SMTPAuth = true; 
$mail->SMTPDebug = 2; 
$mail->Host = 'localhost'; 
$mail->Subject = 'Subject'; 
$text = 'A mail...'; 
$mail->MsgHTML($text); 
$mail->SetFrom($email); 
//$mail->AddReplyTo($email,$name); 

if ($mail->Send()){ 

Если пользователь вводит его/ее почтовый адрес, как «[email protected]» или «[email protected]», он посылает по электронной почте, что address.but если я ввожу свой @ MYDOMAIN .com, он говорит сообщение посылает, но почта не прибыла. Я ищу 2 дня, но не могу найти правильное решение. Я также попробовал это:

Я wroted $ mail-> addAddress ([email protected] ',' email '), и я отправил входящую почту на [email protected] на адрес [email protected] ». Он также не отправляет. Я почти все пробовал. Мои записи MX, как показано ниже:

enter image description here

Должен ли я изменить эти параметры или нет? Или проблема с другим?

Я был бы очень признателен за любую помощь.

Спасибо за интерес,

+0

yilmaz проверить журнал почтового сервера – software

ответ

0

Функция образец отправить письмо с PHPMailer

вы просто изменить путь включают

и изменение параметров

function send_email($to, $subject, $message, $html = TRUE) 
{ 
    require_once APPPATH .'libraries/phpmailer/PHPMailerAutoload.php'; 

    $mail     = new PHPMailer; 

    $mail->isSMTP(); 

    $mail->SMTPDebug  = 0; 
    $mail->Debugoutput  = 'html'; 

    $mail->Host    = 'smtp.gmail.com'; 
    $mail->SMTPAuth   = true; 
    $mail->Username   = '[email protected]'; 
    $mail->Password   = 'password'; 
    $mail->SMTPSecure  = 'tls'; 
    $mail->Port    = 587; 

    $mail->isHTML($html); 
    $mail->charSet   = 'UTF-8'; 


    $from = '[email protected]'; 

    $mail->setFrom($from, 'no-reply'); 
    $mail->addAddress($to, 'Information'); 

    $mail->Subject   = '=?UTF-8?B?'.base64_encode($subject).'?='; 
    $mail->Body    = $message; 
    $mail->AltBody   = ''; 

    if($mail->send()) 
    { 
     return TRUE; 
    } 

    return FALSE; 
} 

ИЛИ образец: This example shows sending a message using PHP's mail() function

+0

Спасибо за комментарий, но я не использую gmail smtp, я использую хостинг Godaddy и их почтовые серверы. –

+0

Да, вы изменяете параметры phpmailer (host, SMTPSecure, port, username, password ...) – Mohammad

+0

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

0

Are вы используете cpa nel хостинг с godaddy? Я не знаю, если это «cpanel везде» или просто у godaddy, но идите в свою cpanel и ищите вещь под названием «MX Entry», а затем меняйте ее с локального на удаленный. Локальный сообщает серверу, что «мы являемся почтовым движком для этого домена, который у нас есть здесь, в этом cpanel», а remote сообщает ему: «электронная почта для этого домена обрабатывается вне cpanel» ... ваши записи MX говорят мне, что вы используете электронной почты рабочего пространства, поэтому вам нужно MX Entry to remote :)

Смежные вопросы