Как мне отложить отправку писем с помощью PHPMailer на несколько дней?

Я пытаюсь создать почтовую систему для нашей библиотеки. Люди получают электронное письмо, когда они просят книгу. Однако я хочу, чтобы они также получили электронное письмо за день до даты сдачи.

Так что я не ищу код сценария сна, я ищу код, который может хранить данные на сервере до тех пор, пока не наступит дата сдачи.

Я использую Joomla 3.5.1 для нашего сайта, это код для PHPMailer:

jimport('joomla.mail.mail');

try{
$mail             = new PHPMailer();

$body             = $mailmsgadmin;

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "example.host.com";         // SMTP server
$mail->SMTPDebug  = 2;                      // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth   = true;                   // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "example.host.com";         // sets the SMTP server
$mail->Port       = 25;                    // set the SMTP port for the GMAIL server
$mail->Username   = "email"; // SMTP account username
$mail->Password   = "password";         // SMTP account password

$mail->SetFrom('email', 'First Last');

$mail->AddReplyTo($mailuseremail, $mailusername);

$mail->Subject    = $mailsubject;

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";

$mail->MsgHTML($body);

$mail->AddAddress("Users e-mail","Users name");

if(!$mail->Send()) {
JError::raiseWarning( 'SOME_ERROR_CODE', $mail->ErrorInfo);
}
} catch (Exception $e) {JError::raiseWarning( 'SOME_ERROR_CODE', $e->getMessage());}

1

Решение

Вместо того, чтобы пытаться заставить PHPMailer отложить отправку, добавьте ваши данные электронной почты в таблицу базы данных. А затем напишите работу cron, которая проверяет таблицу на наличие писем, которые необходимо отправить.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]