2017-04-10 35 views
-1

PHPMailerとSMTPのメール送信に問題があります。私はこのコードを書いたが、私のスクリプトではうまくいかない。私はメーラーの2つのバージョンがあり、最初のものはSMTPなしで動作しますが、私はSMTPを使用する必要があります。phpmailerでsmtp経由でメールを送信

  1. SMTPバージョンなし。

  2. セカンドバージョンがphpmailerのを追加しましたが、私は提出押したときに、それは何も送信しません、だけで負荷に停止:


require_once(dirname(__FILE__).'/../../config.php'); 
require(dirname("/mail/PHPMailerAutoload.php"); // path to the 
PHPMailerAutoload.php file. 

$mail->$fromEmail = NO_REPLY; 
$mail->$headers = "MIME-Version: 1.0" . "\r\n"; 
$mail->$headers .= "Content-Type: text/plain; charset=utf-8" . "\r\n"; 
$mail->$headers .= "From: ".$fromEmail. "\r\n"; 
$mail->$subject = $LANG["WBS_REGM_SUBJECT"]; 
$mail->mail($user_email,$subject,$details,$headers); 

$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->Mailer = "smtp"; 
$mail->Host = "localhost"; 
$mail->Port = "465"; // 8025, 587 and 25 can also be used. Use Port 465 for SSL. 
$mail->SMTPAuth = true; 
$mail->SMTPSecure = 'tls'; 
$mail->Username = "XXXXXXX"; 
$mail->Password = "XXXXXXXXX"; 

echo '<div id="mode">1</div>'; 
    } else { 
     echo '<div id="mode">2</div>'; 
    } 
} else { 
    echo '<div id="mode">3</div>'; 
} 
} 

を私は使用SMTPのでしょうか?どうすればこのバグを修正できますか?

+0

あなたのコードの写真ではなく実際のコードをここに掲載してください。 –

+0

あなたはどんなエラーが出ていますか? –

+0

require関数内で完全なURLを使用することはできません。代わりにローカルパスを使用してください。 – Jer

答えて

0

Web URLを使用してファイルを含めることはできません。代わりに、ローカルパスを使用したいし、それを必要とするかもしれない:

require(dirname(__FILE__) . "/path/to/phpmailer/PHPMailerAutoload.php"); 

現在含まれているファイルのディレクトリを取得するには、次のスクリプトはdatabase.init.php」と呼ばれる場合、例えば、

<?php 
dirname(__FILE__); 
?> 

を同じディレクトリに産むdatabase.class.php 『 'どこでもファイルシステムは、スクリプトを含めたい上から含まれている』、あなたが使用することができます。

<?php 
include_once(dirname(__FILE__) . '/database.class.php'); 
?> 

参考:http://php.net/manual/en/function.dirname.phpを。

次の手順は、サーバーがSMTP要求を処理するように構成されているかどうかを確認することです。使用しているSMTPポートが開いていて、プログラムで使用できることを確認してください。

+0

こんにちは!ありがとう、しかし私はそれをしましたが、それは動作しませんでした。私はこのコードをusrとURLなしで入れました。 –

+0

あなたはどんなエラーが表示されますか?あなたのコードにエラーを表示するために 'error_reporting(E_ALL);'を追加してください。 – Jer

+0

私はsmtp経由でメッセージを送信する必要がありますが、できません。 –

0

あなたのコードはWebサーバーまたはローカルにありますか?これは問題になる可能性があります。

$mail->Host = 'localhost' 

たとえば、ポストフィックス電子メールサービスをお持ちでない場合、ローカルコードで問題が発生する可能性があります。

mail() 
+0

実サーバ上のスクリプトはローカルサーバではありません。 –

+0

そして、どのエラーが返されますか? –

関連する問題