2016-08-02 35 views
-1

Ich habe ein Skript, das Daten an eine Tabelle in MySQL-Datenbank sendet und jetzt wollte ich eine E-Mail jedes Mal generieren, wenn jemand neue Daten hinzufügt. Es funktioniert, aber wie Sie vielleicht wissen, dauert es fast 20-30 Sekunden, um abzuschließen und die Antwort zu erhalten. Ich habe gelesen, dass exec-Funktion wäre gut für die Ausführung von mail() in einer separaten Datei, aber auf meinem freigegebenen Server Exec ist deaktiviert. Auch sind diese anderen deaktiviert:Mail-Funktion, nicht auf Respons in Shared Hosting warten

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

Jeder kann zeigen, wie kann ich diese posible machen, ohne die Homepage zu blockieren, bis E-Mail gesendet wird?

Vielen Dank!

+0

sollten Sie Ihren Hoster fragen, wie sie denken, das Senden von Mail sollte funktionieren. Sie werden wahrscheinlich viel fähiger sein als jeder andere hier. – Jakumi

+0

SMTP zu localhost mit PHPMailer kann schneller sein. Wenn das Senden einer Nachricht an einen lokalen Mail-Server (über 'mail()' oder SMTP) mehr als etwa 0,2 Sekunden dauert, machen Sie etwas falsch, oder etwas stimmt nicht mit Ihrem Server. – Synchro

Antwort

0

die Mail-Funktion sieht so aus. Ist etwas darin langsam?

$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);