2017-02-15 13 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]」のような彼/彼女のメールアドレスを入力した場合、私は私の@はmydomainを入力した場合、それはそのaddress.Butに電子メールを送信します.com、メッセージは送信されますが、メールは到着しません。私は2日間探していますが、適切な解決策を見つけることができません。私もこれを試してみました:

私は$ mail-> addAddress([email protected] '、'電子メール ')を読んで、受信メールを[email protected]に転送して、[email protected]に送りました。 'それも送信していません。私はほとんどすべてを試しました。 MXレコードは、以下のように:

enter image description here

私は、これらの設定を変更したりすべきではありませんか?またはsth elseの問題?

私は非常に助けていただければ幸いです。関心、

+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(ホスト、SMTPSecure、ポート、ユーザー名、パスワード...)を変更します – Mohammad

+0

私のコードはすでに動作しているコードなので、私は同じドメインアドレスで電子メールを送信できない理由についていくつかのアイデアが必要です。 –

0

はありますあなたはcpaを使用していますゴダディと一緒にホスティングするの?これが「cpanel everywhere」、または単にgodaddyの場合はわからないが、cpanelに入り、「MX Entry」と呼ばれるものを探してローカルからリモートに変更する。 Localはサーバーに「このドメインのメールエンジンであり、ここではこのcpanelにあります」と伝え、remoteは「このドメインの電子メールはcpanelの外部で処理されている」と伝えます... MXレコードは、ワークスペースの電子メールであるため、リモートへのMXエントリが必要です。

関連する問題