[英]Sending emails via smtp with phpmailer
我對PHPMailer和SMTP發送郵件有問題。 我寫了這段代碼,但是不適用於我的腳本。 我有兩個版本的郵件程序,第一個版本不使用SMTP,但是我需要使用SMTP。
沒有SMTP版本。
第二個版本添加了PHPMailer,但是當我按Submit時,它不發送任何內容,僅在加載時停止:
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做些什么? 如何解決此錯誤?
您不能使用Web URL包含文件。 您可能要改用本地路徑,然后要求它:
require(dirname(__FILE__) . "/path/to/phpmailer/PHPMailerAutoload.php");
獲取當前包含文件的目錄:
<?php
dirname(__FILE__);
?>
例如,如果文件系統上任意位置包含的名為“ database.init.php”的腳本想要包含位於同一目錄中的腳本“ database.class.php”,則可以使用:
<?php
include_once(dirname(__FILE__) . '/database.class.php');
?>
參考: http : //php.net/manual/en/function.dirname.php 。
下一步是檢查服務器是否配置為處理SMTP請求。 確保您正在使用的SMTP端口是打開的,並且可以被程序使用。
您的代碼在Web服務器上還是本地? 這可能是個問題!
$mail->Host = 'localhost'
例如,如果您沒有后綴電子郵件服務,則本地代碼可能會出現問題。
mail()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.