Welcher SMTP-server unterstützt PHP mail() als Standard verwendet, und gibt es bessere Möglichkeiten?
Ich host meine Website mit GoDaddy , und ich benutze die PHP mail()
Funktion ist momentan das senden Formular E-mails von meiner Website. GoDaddy hat eine 1000 SMTP-relay-limit pro Tag für Formular-E-Mails so, aber Sie schwören, dass mein PHP-Skript, dass ich sollte nicht, Sie zu berühren.
-
Seit
mail()
nicht nehmen, SMTP-info, macht es nur automatisch von GoDaddy (oder was auch immer-hosting können Sie auf)? -
Wenn meine site ist zu erwarten, dass mehr als 1000 E-Mails pro Tag (separate Instanzen, die nicht in einem loop), sollte ich mit einer anderen Methode, oder ist
mail()
die richtige Wahl?
- Ist das PHP auf Linux oder Windows?
- es ist shared hosting auf Linux:)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Php verwendet standardmäßig den lokalen E-mail-server. Jedoch können Sie dies in php.ini-Konfigurationsdatei.
Wenn Sie erwarten, um zu schicken mehr E-Mail als die, vielleicht möchten Sie sich in die Suche nach einem anderen server, um E-mail aus, oder alternative hosting -
Nicht mit mail () - Funktion von php wird es senden Sie Ihre E-mail auf junk-nur. Verwenden Sie stattdessen SMTP-php-mailer-Funktion.
Warum wir SMTP nutzen sollten, anstatt die PHP-mail():
SMTP melden Sie sich in einem Live-Konto auf einem Mail-Server und senden Sie die E-mail über SMTP an einen anderen Mailserver. Wenn die E-mail-server richtig konfiguriert ist, werden Ihre mails von einem Konto auf einem Mail-Server und wird nicht wind-up als spam gekennzeichnet.
Mail versendet mit der mail() Funktion gesendet wird, mit sendmail in den meisten Fällen. Es gibt keine Authentifizierung Los und es wird fast immer als spam gekennzeichnet, wenn Sie die "Von:" in den zusätzlichen Headern.
Dies ist, weil, wenn man einen Blick auf eine original-Datei per E-Mail in sagen, Google Mail, sehen Sie die Header gesendet werden. Senden Sie eigentlich aus [email protected] und nicht [email protected] wie Sie gesagt hatte, daß die mail-Funktion zu tun.
Wenn Sie SMTP verwenden, und die ursprüngliche Auffassung, die E-Mail tatsächlich gesendet werden aus [email protected]
Können Sie herunterladen SMTP Klasse aus:
Auf einem *nix-Maschine, die PHP
mail()
- Funktion nicht unterstützt SMTP -, aber stattdessen verwendet die sendmail() oder andere konfigurierte E-mail-script auf dem server. Dieses Skript senden kann über einen SMTP -, aber dies ist nicht der einfachste Weg in PHP (es sei denn, Sie haben bereits das Skript). Um SMTP verwenden, würde ich empfehlen,PHPMailer. Ich benutze es seit ein paar Jahren und war sofort beeindruckt. Es unterstützt SMTP-zusammen mit vielen anderen Protokolle und hat auch andere nützliche Funktionen, wie das hinzufügen nur-text-Körper für eine HTML-E-Mail und die Erstellung der richtigen E-Mail-Header. Sie können auch erweitern Sie die Klasse um Standardwerte festzulegen, wie der SMTP-server und E-Mail/Namen, so dass Sie nicht haben, um diese jedes mal, wenn Sie wollen, senden Sie eine E-Mail. Es macht auch sehr schöne Fehlermeldungen und debugging.Ich würde auch empfehlen, diese Klasse zum versenden von 1000 E-Mails. Ich habe vor kurzem >5000 an einem Tag mit ihm und hatte keine Probleme.
Wenn Sie müssen, verwenden Sie eine externe E-Mail-server eine Authentifizierung erfordert, werden Sie nicht in der Lage sein, um die PHP-Funktion mail ().
Empfehle ich: http://pear.php.net/package/Mail
mail() nicht die Einstellung wie definiert in der php.ini. Windows-Server erfordern einen tatsächlichen smtp-server, während der *nix-Servern verwendet werden, was mta auf dem server installiert ist (wenn überhaupt).
Wie andere erwähnt haben, wenn Sie wollen, zu verwenden, einen alternativen smtp-server, verwenden Sie eine alternative Bibliothek, wie SwiftMailer. Auch Sie wollen würde, um sicherzustellen, dass der smtp-server ist schnell. Ich habe gesehen, Geschwindigkeitseinbußen bei Verwendung eines smtp server, wie gmail.
GoDaddy verwendet eine Intelligente SMTP-Relay, auch auf dedizierten Servern gehostet bei GoDaddy. Der Grenzwert basiert auf, wie viele E-Mails werde durch das Smart relais.
Wenn Sie einen gültigen Grund für die Notwendigkeit zu schicken mehr E-Mails und Sie können überprüfen, dass Ihre Website nicht Spammen und dass alle E-Mails sind opt-in Unterstützung erhöht sich das limit für Sie, wenn Sie geben Sie eine Schätzung, wie viele E-Mails Sie brauchen, um zu senden.
Da dies eine alte post, dachte ich, es wäre hilfreich, wenn ich aktualisiert, ist die Antwort -
Dies ist viel einfacher, jetzt zu tun als früher 🙂 In PHP 4 wird das PEAR Mail package ist in der Regel bereits installiert ist, und das wirklich einfache tutorial zeigt Ihnen die paar Zeilen code, die Sie brauchen, um hinzuzufügen, um Ihre php-Datei http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm
Meisten hosting-Unternehmen Liste der SMTP-Einstellungen, die Sie benötigen. Ich benutze JustHost, und Sie Liste ihrigen an https://my.justhost.com/cgi/help/26 (unter Postausgangsserver)
Wenn Sie brauchen, um eine Drittanbieter-E-mail-service, den ich empfehlen würde er die Verwendung von
mail()
und ersetzen mit der SwiftMailer Bibliothek. Es ist ein feature-rich-Komponente (unterstützt Authentifizierung, Anhänge, Verschlüsselung, etc) haben wir es in ein paar Plätze. Es ist auch kostenlos und open source.Habe ich mit der open-source-Projekt phpmailer für über sieben Jahre-es ist grandios! Sie können es verwenden, um eine Verbindung zu einem externen SMTP-server.