2014-06-12 36 views
0

我想知道如何讓SMTP服務器使用PHPMailer發送帶有我創建的電子郵件的自動電子郵件([email protected])。如何在PHPMailer中指定SMTP服務器?

我的網絡主機不提供一個。我帶了我的域名OnlyDomains,我的虛擬主機是000Webhost

<?php 
require './PHPMailer-master/PHPMailerAutoload.php'; 

$mail = new PHPMailer; 

$mail->isSMTP();          // Set mailer to use SMTP 
$mail->Host = ''; // Specify main and backup SMTP servers 
$mail->SMTPAuth = true;        // Enable SMTP authentication 
$mail->Username = '[email protected]';     // SMTP username 
$mail->Password = '********';       // SMTP password 
$mail->SMTPSecure = 'tls';        
$mail->From = '[email protected]'; 
$mail->FromName = 'Admin'; 
$mail->addAddress('[email protected]');    // Name is optional 

$mail->WordWrap = 50;         // Set word wrap to 50 characters 
$mail->isHTML(true);         // Set email format to HTML 

$mail->Subject = 'swag'; 
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

if(!$mail->send()) { 
echo 'Message could not be sent.'; 
echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
echo 'Message has been sent'; 
} 
?> 
+0

你有一個控制面板一樣的cPanel爲您的主機服務? – HddnTHA

+0

你應該看看他們是否在主機上使用'sendmail'。使用'sendmail'不需要STMP。查看'PHPMailer()'的文檔和示例,顯示庫中有一個'isSendmail();'方法。看看我的答案瞭解更多細節。 – JakeGould

回答

1

您應該看看您的虛擬主機是否允許您在他們的系統上使用sendmail。對於sendmail,不需要STMP。機會是他們做的,因爲它是大多數Linux/Unix設置的標準部分。既然你說你的虛擬主機是000WebHost好像他們支持使用sendmail

您可以使用PHP的mail()函數來發送郵件爲您的訪客......

但他們似乎也提供了their premium package中的SMTP。

過去,我建議不要擔心SMTP &現在堅持sendmail。縱觀文檔PHPMailer似乎庫可以使用sendmail

PHP的mail()函數通常是通過本地郵件服務器發送, 通常通過在Linux,BSD和OS X中的sendmail程序額 平臺,但是,Windows通常不包括本地郵件服務器 ; PHPMailer的集成SMTP實現允許在沒有本地郵件服務器的Windows平臺上發送電子郵件 。

然後看在examples/文件夾中的PHPMailershows there is a sendmail example

require '../PHPMailerAutoload.php'; 

//Create a new PHPMailer instance 
$mail = new PHPMailer(); 

// Set PHPMailer to use the sendmail transport 
$mail->isSendmail(); 

//Set who the message is to be sent from 
$mail->setFrom('[email protected]', 'First Last'); 

//Set an alternative reply-to address 
$mail->addReplyTo('[email protected]', 'First Last'); 

//Set who the message is to be sent to 
$mail->addAddress('[email protected]', 'John Doe'); 

//Set the subject line 
$mail->Subject = 'PHPMailer sendmail test'; 

//Read an HTML message body from an external file, convert referenced images to embedded, 
//convert HTML into a basic plain-text alternative body 
$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); 

//Replace the plain text body with one created manually 
$mail->AltBody = 'This is a plain-text message body'; 

//Attach an image file 
$mail->addAttachment('images/phpmailer_mini.png'); 

//send the message, check for errors 
if (!$mail->send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 
+0

是的,我試過郵件fucntion但收到的電子郵件不是從我創建的電子郵件,是從服務器本身 – user3707533