Der PHP mail () - Funktion arbeiten, wenn ich nicht über den MX-record

StackOverflow https://stackoverflow.com/questions/38669

  •  09-06-2019
  •  | 
  •  

Frage

Ich bin mir nicht sicher, ich bin mit alle die richtige Terminologie hier also vergebens.

Ich habe nur eine Seite mit einem Kontaktformular, der sendet eine E-Mail mit der PHP-Funktion mail ().Einfach genug.Doch der live-Standort nicht versenden der E-Mail, die test-Website macht.So ist es nicht mein code.

It ' s a shared host, und wir haben eine andere Website, die hat die gleiche Funktion, die perfekt funktioniert, so ist es nicht der server.

Der einzige Unterschied zwischen den beiden ist, dass die Website, die nicht funktioniert, nur die Namen-server auf uns und so den MX-Eintrag nicht berührt unserem server.

Meine Frage ist also, könnte jemand bitte bestätigen, dass die mail () - Funktion nicht funktioniert, wenn wir nicht haben die MX-Datensatz, der auf unserem server.Vielen Dank

War es hilfreich?

Lösung 3

Hey Jungs vielen Dank für die Antworten, es ist wirklich geschätzt.

Nach ignorieren das Problem, für ein paar Monate hat es wieder hoch, jedoch habe ich die Antwort auf meine Probleme.

Erstens, wie Sie Antworten vorgeschlagen, und PHP die Funktion mail() wurden wie erwartet funktioniert.Die E-mail wurde gesendet bekommen.

Das problem liegt, wenn die E-Mail gesendet wird, der es einfach geht, weil seine gesendet von mydomain.com an *@mydomain.com E-Mail, dass die E-Mail selbst ist gehostet auf demselben server, also wird er es geschickt anstelle und ignoriert den MX-record.

OK, es ist ein bisschen komplizierter als das, aber das ist die Allgemeine jist.

Edit:Fand eine bessere version von dem Thema sendmail-und MX-Einträge beim E-mail-server ist nicht auf web-host.

Andere Tipps

Ja.Es wird gut funktionieren.Ich habe ein PHP-Skript mit der mail () - Funktion mit der MX-records gesetzt, um Google-Apps.

Wenn die beiden Skripte sind auf unterschiedlichen hosts (es ist ein bisschen unklar, aus deinem Beitrag), dann stellen Sie sicher, dass der host nicht blockiert einige der benutzerdefinierten Header.Ich hatte Probleme mit diesem beim erstellen von meinem Skript, aber das entfernen alles, aber die Vom Kopf-das problem wurde behoben.

Einige hosts (Godaddy ist der schlechteste) block Ihre Nutzung der sendmail und E-mail().

Ich verwende in der Regel smtp zum senden von E-Mails von meinem php-Anwendungen und mit PHPMailer es ist super einfach.Viele Anwendungen, die mit älteren Versionen von PHPMailer und manchmal Update kann er helfen.Es ist auch einfach genug zu fügen Sie schnell kurze Skripte.

Die mail() Funktion sendet E-mail vom server-hosting-Skript.Da viele shared-hosting-Anbieter host separaten mail-Server, und weil die mail() Funktion unterstützt nicht jede Art von Authentifizierung, viele shared-hosting-Anbieter blockieren.

Wenn die Website nutzt, SPF, denken Sie daran, die Versand-Website in Ihrem SPF-Datensatz.Weitere Informationen finden Sie unter hier.

Ja, Sie könnten, was immer Sie wollen, im Feld 'von', und es würde immer noch funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top