2016-12-04 50 views
1

當我嘗試發送電子郵件與phpmailer,我的代碼的結果是致命的錯誤:require()[function.require]:失敗打開需要'../ vendor/autoload.php'(include_path ='.; C:\ php \ pear')。 我的問題是什麼?無法打開需要'../vendor/autoload.php'

<?php 
/** 
* This example shows making an SMTP connection with authentication. 
*/ 

//Import the PHPMailer class into the global namespace 
use PHPMailer\PHPMailer\PHPMailer; 

//SMTP needs accurate times, and the PHP time zone MUST be set 
//This should be done in your php.ini, but this is how to do it if you don't have access to that 
date_default_timezone_set('Etc/UTC'); 

require '../vendor/autoload.php'; 

//Create a new PHPMailer instance 
$mail = new PHPMailer; 
//Tell PHPMailer to use SMTP 
$mail->isSMTP(); 
//Enable SMTP debugging 
// 0 = off (for production use) 
// 1 = client messages 
// 2 = client and server messages 
$mail->SMTPDebug = 2; 
//Set the hostname of the mail server 
$mail->Host = 'mail.mehregantamin.ir'; 
//Set the SMTP port number - likely to be 25, 465 or 587 
$mail->Port = 25; 
//Whether to use SMTP authentication 
$mail->SMTPAuth = true; 
//Username to use for SMTP authentication 
$mail->Username = '[email protected]'; 
//Password to use for SMTP authentication 
$mail->Password = '*****'; 
//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 SMTP 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

乍一看,你的PHP(至少郵件部分)沒有完全安裝。您可能需要重新安裝以獲取所需的所有組件。 –

回答

0

您需要安裝使用作曲家的包,作爲PHPMailer的文件說:

composer require PHPMailer/PHPMailer 

將安裝包和更新composer.json文件。