2017-10-09 24 views
0

PHPMailerで問題が発生しています。私のスクリプトは以下の通りですが、SQLクエリが機能しているので省略しています。唯一の問題はメールの部分です。主なアイデアは、クエリが実行され、次にそのデータからCSVを作成するブロックがあることです。スクリプトが実行されるたびに、添付ファイルとしてcsvを送信したいと思います。PHPMailerエラー、関数のインスタンス化

私はPowerShellで次のスクリプトを実行すると、私はエラー

mail error: Could not instantiate mail function

を取得し、私はすべてを含めたのだが、クラスが罰金見つけましたが、何らかの理由で私はこれを取得しておきます。私はPHPMailerの新機能ですので、私が欠けている明らかな部分があることを願っています。私はこれをローカルで実行しています。ここで

はスクリプトです:

<?php 
use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 

require '/common/site_globals.php'; 
require 'phpmailer/vendor/autoload.php'; 

print_r(get_included_files()); 


if (!$result) die('Couldn\'t fetch records'); 
$num_fields = mysqli_num_fields($result); 
$headers = array(); 
while ($fieldinfo = mysqli_fetch_field($result)) { 
    $headers[] = $fieldinfo->name; 
} 

$fp = fopen('dailyReportTestPHP.csv', 'w'); 
if ($fp && $result) { 
fputcsv($fp, $headers); 
while ($row = $result->fetch_array(MYSQLI_NUM)) { 
    fputcsv($fp, array_values($row)); 
} 
fclose($fp); 
} 

$mail = new PHPMailer(true); 

try{ 
$mail->setFrom("[email protected]"); 
$mail->addAddress("[email protected]"); 
//$mail->addAttachment($fp); 
$mail->isHTML(true); 
$mail->Subject = "Test"; 
$mail->Body  = "Test"; 
$mail->Send(); 
echo 'message sent'; 

} catch (Exception $e){ 
echo 'message failed'; 
echo 'mail error:' . $mail->ErrorInfo; 
} 
?> 

答えて

1

たぶん、この答えは役立ちます: phpmailer error "Could not instantiate mail function" あなたはPowerShellを言及したように、私は、OS(Windowsの)問題である疑いがあるでしょう。

+0

ありがとう、私は私たちのprodサーバーでそれを試して、それは完璧に働いた。私はローカルでテストするためにGoogleのSMTP設定を使用しました。とても有難い! –

関連する問題