Поэтому я использую PHPMailer для отправки электронной почты в базу данных пользователей раз в неделю, используя запланированные задачи моего веб-хостинга.Однако содержимое электронной почты необходимо генерировать во время выполнения запланированной задачи.
В моем коде я создаю содержимое HTML, генерирую файл HTML и сохраняю его в каталоге на сервере.затем попробуйте использовать этот недавно созданный HTML-файл в качестве основного содержимого письма.
Однако, когда я запускаю страницу, я получаю:
Mailer Error (xxxxxxxxxxx@xxxxx.xxx) Message body empty
Любые идеи, какрешить это?Код ниже:
$emailMessage .= "HTML code is in here.";
$fileName = date("YmdHis") . "-email.html";
$newEmail = fopen("path/to/file/$fileName", "w") or die("Unable to open file!");
fwrite($newEmail, $emailMessage);
fclose($newEmail);
$body = file_get_contents('path/to/file/$fileName');
$mail = new PHPMailer;
$mail->isSMTP();
$mail->msgHTML($body);
etc etc
Если я жестко прописываю имя файла в строке $body
, это работает, но не тогда, когда я использую имя переменной.Кто-нибудь знает, возможно ли это или есть лучший способ отправить электронное письмо, созданное на лету?