私のコードで助けが必要ですが、この関数でメールを送信しようとしていますが、メールを送信できません。私がコードベース全体を見て、エラーを修正するのに役立つなら、私はそれを感謝します。ありがとう。関数呼び出しで変数を渡す方法
emailClass.php
<?php
class email
{
function emailWithAttach($fromaddress, $toAddress, $mailSubject, $mailMessageHead, $mailMessageMain, $mailMessageEnd, $fileName)
{
$fileatt_name = "Invoice";
$fileatt = $fileName;
$fileatt_type = "application/octet-stream";
$email_from = $fromaddress;
$email_subject = $mailSubject;
$email_message = $mailMessageHead."<br>";
$email_message .= $mailMessageMain."<br>";
$email_message .= $mailMessageEnd;
$email_to = $toAddress;
$headers = "From: ".$email_from;
$file = fopen($fileatt, 'rb');
$data = fread($file, filesize($fileatt));
fclose($file);
$semi_rand=md5(time());
$mime_boundary .= "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "MIME-Version:1.0\n".
"Content-Type: Multipart/mixed;\n".
"boundary=\"{$mime_boundary}\"";
$email_message .= "This is a multi-part message in MIME format.\n\n".
"--{$mime_boundary}\n".
"Content-Type: text/html; charset=\"iso-8859-1\"\n".
"Content-Transfer-Encoding: 7bit\n\n".
$email_message .= "\n\n";
$data = chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}\n".
"Content-Type: {$fileatt_type};\n".
"name=\"{$fileatt_name}\"\n".
"Content-Transfer-Encoding: base64\n\n".
$data .="\n\n".
"--{$mime_boundary}--\n";
if(mail($email_to, $email_subject, $email_message, $headers))
{
return true;
}
}
}
?>
これは私が作った修正で自分のコードを更新しました、まだメールが送信されていない私のテンプレートのindex.php
<?php
include "emailClass.php";
$testEmail = new email();
$from = '[email protected]';
$sendTo = '[email protected]';
$subject ='ABS Travels';
$bodyHead = 'Welcome to attachment of Email';
$bodyMain = 'I love the way php handles email attachment, it is amazing to me';
$bodyEnd = 'Thank you';
//$filePath = '';
$fileName = 'reports.pdf';
if($testEmail->emailWithAttach($from, $sendTo, $subject, $bodyHead, $bodyMain, $bodyEnd, $fileName))
{
echo 'Email send successful';
}
else
{
echo 'Email Failed';
}
?>
です。任意の提案をしてください。「メール失敗」メッセージ以外のエラーは表示されません。
申し訳ありませんが、「私のコードは機能しません。修復してください」と尋ねる質問は、ここではっきりとオフトピックと見なされます。あなたはあなたのためにあなたの仕事をする(支払われた)プログラマーを探す必要があります。私たちは助けを求めていますが、そのためには、1.あなた自身をデバッグしてもらいたい、2.問題の正確さを教えてください。 – arkascha
'' $ testEmail-> emailWithAttach() '' 'の出力は何ですか? ? –
ヒント:ヒント:ログを回すかエラーを起こし、 '@mail(...)'呼び出しから '@'を削除し、httpサーバのエラーログファイルの監視を開始してください。おそらくあなたのコード内に問題があるかどうかをあなたに伝えます。 Web環境でPHPでプログラミングしている場合、そのエラーログファイルを監視することはありません。あなたの目が盲目になって暗い洞窟で飛ぶようなものです... – arkascha