У меня есть ситуация, когда я отправляю 2 разных письма, один для клиента и один для члена после того, как участник принимает задание. Внутри функции я вызываю 2 функции, которые отправляются клиенту, и один отправляется члену. Дело в том, что второе письмо отправляется как члену, так и клиенту, но клиент, первое электронное письмо, получает только ожидаемое письмо.PHPMailer отправляет электронное письмо неверному получателю
Что я понял, так это потому, что обе эти функции происходят одновременно, некоторые из них, как функция addAddress() принимает оба адреса электронной почты ко второму электронному письму. Мое доказательство этого заключается в том, что я изменил порядок функций, поэтому участник отправил сначала, а клиент отправил второй, и оба они получили электронную почту Клиента, где перед тем, как Клиент отправил первый, а второй отправил второй.
Мой вопрос, чем я могу сделать первый перерыв на несколько секунд до отправки второго письма, чтобы это не произошло.
Вот базовая настройка кода.
function memberAccept()
{
// SQL to mark in DB that member accept task
$this->memberEmail($id)
$this->clientEmail($id)
}
function memberEmail($id)
{
// SQL to gather information about member inner join with task
$subject = 'Email';
$body = 'Email to member'
$this->sendEmail($member['email'], $subject, $body)
}
function clientEmail($id)
{
// SQL to gather information about client inner join with task
$subject = 'Email';
$body = 'Email to client'
$this->sendEmail($client['priemail'], $subject, $body)
}
sendEmail() находится в другом классе, предназначенном для использования функций PHPMailer для отправки электронной почты.
1. Вам нужно показать свой код обертки, потому что это не собственный интерфейс PHPMailer. 2. Если вы не создаете процессы в запросе, я сомневаюсь, что ваши функции «происходят в одно и то же время» – bassxzero