2013-11-13 4 views
0

В моем wesbite, когда пользователь отправляет форму, мне нужно обновить мою БД и отправить несколько сообщений электронной почты (ему, администратору, ...)Отправка электронной почты из основного потока PHP

Пока что я делаю внутри целевой страницы form.php (что в моем случае также form.php). Проблема в том, что отправка электронной почты занимает некоторое время. И с точки зрения пользователя кажется, что на загрузку страницы требуется некоторое время.

Есть ли способ, по которому электронные письма будут выполняться на отдельной «нить», чтобы я не мог ждать отправки писем?

+1

В идеале вы хотите, чтобы система очереди. Google для этого, много там. – deceze

ответ

0

Вы можете использовать jquery ajax для этого. Просто отправьте необходимую информацию, которая должна быть сохранена в фоновом файле php, и введите код электронной почты в этом файле. У него будут электронные письма, отправленные вам за занавеской.

$.ajax({ 
    type: "POST", 
    url: backend.php, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

Имейте в виду, что ваш фоновый архив делает необходимую экономию и электронную почту. Кроме того, вы можете использовать систему рабочих очередей, но я не настолько эффективен для вас. Зависит от сложности и размера приложения IMHO.

Смежные вопросы