Frage

Ich bin mit PHP und MySQL. Und meine Website ist in Flash (volle Flash-Site)

Ich habe eine Website, die Benutzer lassen sich registrieren. Der Anmeldevorgang mit Senden „Aktivierungs E-Mail“, Link klicken Konto zu aktivieren.

Die ersten zwei Wochen waren in Ordnung. Von rund 2000 Benutzer sind 1800 Benutzer aktiviert. Danach fallen die aktivierten Benutzer zu etwa 30% drastisch. Beispiel:. 1000 Benutzer Anmeldungen wurden nur 300 aktiviert

Zuerst fand ich das Problem ist, weil die E-Mail nicht an ymail, msn und gmail Benutzer erreichen werden. (Die meisten meiner Abonnenten sind Ymail (Yahoo), hotmail / msn (live) und gmail (gmail)). Ich habe versucht, die Registrierung mit ymail und hotmail, aber ich habe nicht jede Aktivierungs E-Mail erhalten. Ich kontaktierte Yahoo und MSN, schließlich kann per E-Mail durch jetzt gehen.

Aber meine Anmeldungen Statistik noch zeigt, sind die aktivierten Benutzer nur etwa 30%, was mich sehr verwirren. Ich mein Hosting-Unternehmen kontaktieren, fragen Sie sie, die weiße Liste meiner IP. Und sie taten es.

Ich brauche Ihren Rat / Hilfe auf folgende Fragen:

  • Wie kann man überprüfen, wo das Problem liegt? Ist die E-Mail nicht zugestellt werden? Benutzer E-Mails empfangen, aber didnt klicken Sie auf den Aktivierungs-Link?

Ich bin mit PHP-Mail funstion. und dies ist mein Header:

  $headers = 'MIME-Version: 1.0' . "\r\n";

  $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

  $headers .= 'From: Admin <\admin@domain.com>' . "\r\n";

  $headers .= 'Return-Receipt-To: Bounce <\bounce@domain.com>' . "\r\n";

  $headers .= 'Reply-To: Admin <\admin@domain.com>' . "\r\n";

  $return_path = "\bounce@domain.com\";

(ich meinen Domain-Namen verstecken, und ich füge hinzu Schrägstriche in E-Mail, Cuz, wenn nicht, wird die E-Mail wird nicht hier zeigen, seltsam)

Gibt es etwas falsch mit den Header?

  • Was kann ich tun, um meine Registrierung / Anmeldung Aktivierungsprozess zu verbessern?
War es hilfreich?

Lösung

Sie sollten Ihren Rückpfad als "-f" Parameter für E-Mail () Funktion übergeben:

mail(
    $this->recipient,
    $subj,
    $this->body,
    $this->compose_headers(),
    '-f ' . Options::obj()->mail->return_path);

Auch für die besten Ergebnisse, wenn der sendende Server einen öffentlichen Domain-Namen example.com hat, soll der Rückweg something@example.com sein.

Auf jeden Fall sollten Sie auf jeden Fall die Protokolle überprüfen (/ var / log / mail *), genau zu wissen, was los ist.

Andere Tipps

Versuchen gmail als SMTP-Server istead von Mail-Server wie Sendmail aus einer Domäne verwenden. gmail SMTP würde irgendwie dafür sorgen, dass Ihre E-Mails auf Best-Effort surity gesendet werden. Gmail würde auch nicht als Spam behandelt werden, es sei denn E-Mail als Spam markiert wird (so versuchen, eine eine mit der sicher ist). singup-> Aktivierung durch setzen Ihre beste Wette zu verbessern, ist, dass E-Mail, um sicherzustellen, Posteingang des Benutzers zu erreichen.

Für Sicherheitsnetz können Sie eine Funktion haben, in dem Sie Benutzer erlauben, den Aktivierungslink zu senden, wenn der erste aus irgendeinem Grund fehlgeschlagen.

Wenn Sie unbequem sind gmail als smtp verwenden, können Sie ur Domain mit Google Apps anmelden (aber das könnte Änderungen in Geschäftsanforderungen benötigen) und Sie können admin@domain.com Art von E-Mail haben und noch effizienter gmail smtp-Server verwenden .

Es gibt viele Bibliotheken gibt, wie PHPMailer die externen SMTP-Server zu verwenden. Beachten Sie alle Daten über gmail-Server gehen über SSL oder TSL.

Haben Sie Zugang zu den Log-Dateien des E-Mail-Server die Registrierung E-Mails aus? Alle prallten E-Mails normal zurück zum sendende Server. Durch die Überwachung der Protokolldateien können Sie überprüfen und sehen, welche Anzahl von E-Mail (falls vorhanden) sind nach wie vor zurückprallt zu werden.

Welche Art von Zugriff haben müssen Benutzer Ihre Website ohne aktivierte E-Mail-Adresse? Sind alle Funktionen deaktiviert? Gibt es Anreize zu aktivieren oder eine echte E-Mail-Adresse verwenden?

Ihr Beispiel zeigt nicht ein Date-Header, die ein Pflichtfeld ist. Nach meiner Erfahrung lehnen einige Mail-Handler-E-Mails, die keine haben (und einige nur ein mit dem aktuellen Datum hinzufügen.) Wenn Ihre eigentliche Code nicht ein hat dann versuchen, ein Hinzufügen und sehen, ob es einen Unterschied macht.

Suchen Sie nach RFC2822 für Informationen darüber, was erforderlich ist,

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