2017-02-10 4 views
0

私たちはgodaddyサーバー上のサイトを持っています。私たちは連絡フォームを持っています。ユーザーがフォームを入力すると、@ oursiteからユーザーのメールにメールを送信した後、まず@ oursiteにメールを送信する必要があります。下記の私の試したコード:ゴダディphpmailer smptの設定

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


$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->SMTPDebug = 2; 
$mail->port = 25; 
$mail->Host = 'localhost'; 
$mail->Username = '[email protected]'; 
$mail->Password = 'password'; 
$mail->addAddress($email, $name); 
$mail->subject = 'Subject'; 
$mail->MsgHTML('mail içeriği'); 


if ($mail->Send()){ 

これは以下の出力:

enter image description here

メールが配信さそうですが、それは、メッセージを配信することはありません。 私は多くのことを試みました。

$ mail-> SMTPAuth = true; (SSL付き)

ポート25,80,3535,465、 TLS、SSL認証、

私は何をすべき?何をもっと試してみるべきですか?

+0

あなたはそのスクリーンショットのようなものを検閲、またはあなたが実際にどの 'に入れていない問題の一部でありました:'アドレス?ちなみに、ホストのSMTPパスワードはあなたのポストに入れてから変更する必要があります。 – Iskar

+0

ありがとう私はパスを変更しました。また、 'to:...'のようなデータを削除しました。 –

答えて

1

まず、PHPMailerの古いバージョンを使用しています。 get the latest

あなたのコードはどこにあるのか分かりませんが、いくつかの重要なプロパティの問題が間違っています。コードをPHPMailerの例に基づいて作成することをお勧めします。特に、subjectSubjectであり、portPortである必要があります。 localhostに送信するときは、ユーザ名やパスワードは必要ないので、設定する必要はありません。同様に、Portのデフォルトは25であるため、設定する必要はありません。

あなたはFromアドレスを指定しておらず、addAddressに渡しているアドレスが無効であるように見えるので、誰も誰にもメッセージを送信していません。

あなたのメッセージ本文はトルコ語(?)で、デフォルトのISO-8859-1文字セットでは機能しないようですので、$mail->CharSet = 'UTF-8';を設定してUTF-8に切り替えることをお勧めします。

addAddressを呼び出すときに戻り値を確認して、送信する値が送信前に有効であることを確認してください。固定これらの事で

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

$mail = new PHPMailer; 
if (!$mail->addAddress($email, $name)) { 
    die('Invalid email address'); 
} 
$mail->isSMTP(); 
$mail->CharSet = 'UTF-8'; 
$mail->SMTPDebug = 2; 
$mail->Host = 'localhost'; 
$mail->Subject = 'Subject'; 
$mail->msgHTML('mail içeriği'); 
$mail->setFrom('[email protected]', 'My Name');  

if ($mail->send()) { 
    echo 'Sent'; 
} else { 
    echo 'Error: '.$mail->Errorinfo; 
} 
+0

あなたの返事をありがとう。今はメールを送信しますが、少し問題があります。メールがHotmailに送信されると、spamフォルダに落ち、 'gmail/hotmailが実際にexample.comのものであることを確認できない'などの警告が表示されます。私はトルコ語を使用していましたが、UTF-8を使用すると正確な文字が得られますが、正確ではないものもあります。それについて何が間違っていますか? –

+0

スパムになることは別の問題であり、ここでは多くの回答があります。 UTF-8データでは間違っていることが多くあります。 – Synchro

+0

いくつかの調査の後、私は私のUTF-8問題の解決策を見出します。 class.phpmailer.phpクラスで、私は "public $ CharSet = 'iso-8859-1'"という行を "public $ CharSet = 'iso-8859-9'"に変更しました。 "$ mail-> CharSet = 'UTF-8'"を設定してください。 –

関連する問題