2017-07-02 169 views
0

我在努力瞭解如何用PHPMailer發送郵件。用PHPMailer發送電子郵件

我有多個網站客戶端,我已經實現了他們每個人的聯繫方式。我可以將電子郵件發送到我自己的電子郵件地址,但不發送給他們。

這是我寫的功能。

function sendSMTP($host, $usr, $pwd, $port, $fromAddr, $fromName, 
$replyAddr, $replyName, $addr, $subject, $body) 
{ 
$mail = new PHPMailer(true); 

$mail->SMTPDebug = 1; 

$mail->isSMTP(); 
$mail->Host   = $host; 
$mail->SMTPAuth  = true; 
$mail->Username  = $usr; 
$mail->Password  = $pwd; 
$mail->SMTPSecure = 'ssl'; 
$mail->Port   = $port; 

$mail->setFrom($fromAddr, $fromName); 
$mail->addReplyTo($replyAddr, $replyName); 

$mail->addAddress($addr); 

$mail->isHTML(true); 

$mail->Subject = $subject; 
$mail->Body = $body; 
} 

我有一種感覺,它不工作,因爲與前4個參數(主機,用戶,密碼,端口)有關。我從幾個月前開始坐在這上面,現在我完全無法解決問題。

我是否必須爲每個客戶端驗證各種發件人帳戶?我卡住了。什麼是使用此功能的正確方法?

回答

0

我使用PHPMailer從我的本地主機成功發送電子郵件到我的或其他電子郵件地址。 如果使用gmail設置HOST = smtp.gmail.com, 將您的電子郵件地址和密碼設置爲USER,PASSWORD。 我通過谷歌的'gmail端口號'找到了PORT號碼。希望它會有幫助。

<?php 

require 'PHPMailerAutoload.php'; 

$mail = new PHPMailer; 
$mail->isSMTP();       // Set mailer to use SMTP 
$mail->Host = 'smtp.gmail.com';    // Specify main and backup SMTP servers 
$mail->SMTPAuth = true;      // Enable SMTP authentication 
$mail->Username = '[email protected]'; // your email id 
$mail->Password = 'password'; // your password 
$mail->SMTPSecure = 'tls';     
$mail->Port = 587;  //587 is used for Outgoing Mail (SMTP) Server. 
$mail->setFrom('[email protected]', 'Name'); 
$mail->addAddress('[email protected]'); // Add a recipient 
$mail->isHTML(true); // Set email format to HTML 

$bodyContent = '<h1>HeY!,</h1>'; 
$bodyContent .= '<p>This is a email that Radhika send you From LocalHost using PHPMailer</p>'; 
$mail->Subject = 'Email from Localhost by Radhika'; 
$mail->Body = $bodyContent; 
if(!$mail->send()) { 
    echo 'Message was not sent.'; 
    echo 'Mailer error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent.'; 
} 

?> 
相關問題