2017-01-20 1 views
1

Ich habe ein paar Fragen zum Senden von E-Mails in PHP. Ich war die letzten Tage auf Google und habe immer noch Probleme damit, dass das funktioniert.PHP Senden von E-Mail-Problemen

Meine erste Frage ist, wie ändere ich den "Von" Abschnitt meiner E-Mail? Ich habe "An: [email protected]" in meinem "von" Abschnitt:

Ich mag würde nur den richtigen Namen meiner Domain haben (zB: "testingstuff.com" -> "Testmaterial"). Wie könnte ich das erreichen?

Sobald ich die E-Mail tatsächlich öffnen, ist alles in Ordnung und korrekt, einschließlich der Absenderadresse "[email protected]".

Auch meine E-Mail wird nicht an Google Mail-Adressen senden. Es wird in meiner Mail-Warteschlange angezeigt und in meinen Protokollen wird angegeben, dass es gesendet wird, aber es wird nie auf meinem Google Mail empfangen. Muss ich zusätzliche Schritte unternehmen, damit Google meine E-Mail akzeptiert? Wenn ja, was sind das? Erfordern andere wichtige E-Mail-Angebote die gleichen Schritte oder sind es verschiedene Schritte?

Dies ist mein Code so weit:

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 
ini_set("sendmail_from", "[email protected]"); 
class email { 
    public static function send($to, $subject, $message) { 
     $headers = "From: Testing Stuff <[email protected]>\r\n"; 
     $headers .= "Reply-To: [email protected]\r\n"; 
     $headers .= "Content-type: text/html\r\n"; 
     mail($to, $subject, $message, $headers); 
    } 
} 
?> 

Verbrauch:

require_once("../mail.php"); 
email::send("[email protected]", "testing email subject", "testing email body"); 

Bin ich etwas falsch in meinem Code zu tun?

+0

Haben Sie den Spamordner im Gmail-Posteingang überprüft? Auch '$ headers. = 'Von: Meine Domain <[email protected]>'. "\ r \ n"; 'sollte funktionieren – Evochrome

+0

Mögliches Duplikat von [PHP mail() Formular Senden an GMAIL-Spam] (http://stackoverflow.com/questions/12188334/php-mail-form-sending-to-gmail- spam) http://stackoverflow.com/questions/712392/send-email-using-the-gmail-smtp-server-from-a-php-page – zod

+4

Ich würde empfehlen, eine vorhandene E-Mail-Bibliothek, wie PHPMailer, Swift Mailer zu verwenden oder ähnlich, und senden Sie die E-Mail über Ihre E-Mail-Provider SMTP-Server. Das würde wahrscheinlich beide Probleme aus der Box lösen. –

Antwort

0

Sie müssen überprüfen, ob die E-Mail korrekt gesendet wird, um die E-Mail() Ergebniskontrolle, auf diese Weise:

$result = mail($to, $subject, $message, $headers); 
if(!$result) { 
    echo "Error"; 
} else { 
    echo "Success"; 
} 

dieses innerhalb Ihrer statischen Funktion ist, auch Ihre Spam-Ordner überprüfen, ob die E-Mail-Funktion Rückkehr "Erfolg".

+0

Dies sagt nichts darüber aus, ob die E-Mail gesendet wurde oder nicht, nur wenn sie erfolgreich in der E-Mail-Warteschlange des Systems platziert wurde. Es kann immer noch fehlschlagen, wenn das System tatsächlich versucht, es zu senden. –