2016-08-02 2 views
-1

У меня есть сценарий, который отправляет данные в таблицу в базе данных mysql, и теперь я хочу генерировать электронное письмо каждый раз, когда кто-то добавляет новые данные. Он работает, но, как вы знаете, он длится почти 20-30 секунд для завершения и получения ответа. Я прочитал, что функция exec была бы хороша для выполнения mail() в отдельном файле, но на моем общем сервере exec отключен. Также отключены эти другие:почтовая функция, не ждите ответа на общем хостинге

symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,passthru,escapeshellarg,escapeshellcmd,show_source,pcntl_exec 

Кто-нибудь может показать, как я могу сделать это без блокировки Возможное веб-страницу, пока электронная почта не передается?

Thankyou!

+0

вы должны спросить своего хостера, как они думают, что отправка почты должна работать. они, вероятно, будут гораздо более способными помогать, чем кто-либо здесь. – Jakumi

+0

SMTP to localhost с помощью PHPMailer может быть быстрее. Если отправление сообщения на локальный почтовый сервер (через 'mail() или SMTP) занимает более 0,2 с, вы делаете что-то неправильно или что-то не так с вашим сервером. – Synchro

ответ

0

Почтовая функция выглядит следующим образом. Что-то в этом делает это медленным?

$to  = "[email protected]"; 
$subject = "xxxxx"; 
$message = "xxxxxxxxx: \n"; 
$message .= "\n"; 
$message .= " $getuser\n"; 
$message .= "\n"; 
$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headerxs); 
Смежные вопросы