wake-up-neo.com

pHP senden Sie eine Mail von localhost

Ich bin neu bei php. Ich habe versucht, mit diesem Code E-Mails von PHP zu senden.

<?php

    $to      = '[email protected]';
    $subject = 'The subject';
    $message = 'hello';
    $headers = 'From: [email protected]' . "\r\n" .
        'Reply-To: [email protected]' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);

?>

Ich habe die Einstellungen in der php.ini geändert

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]

& in sendmail.ini

# A freemail service example
account Gmail
tls on
tls_certcheck off
Host smtp.gmail.com
from [email protected]
auth on
user [email protected]
password xxxxxxxxx

# Set a default account
account default : Gmail

Jetzt läuft der Code erfolgreich, aber ich erhalte keine E-Mails.

15
Sohil Desai

Sie müssen die php.ini-Datei ändern:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]

Es wird nicht funktionieren, wenn localhost eingestellt ist. Wechseln Sie daher zu Ihrem Mail-Server.

4
mram888

Sie haben standardmäßig keinen SMTP-Server installiert, so dass Sie keine E-Mails direkt von localhost senden können. Sie können den SMTP-Server entweder lokal einrichten oder SMTP-Server von Drittanbietern verwenden. Werfen Sie einen Blick auf http://www.mittalpatel.co.in/php_send_mail_from_localhost_using_gmail_smtp , um zu erfahren, wie Sie E-Mails von localhost über einen SMTP-Server von Drittanbietern senden. 

3
Mittal Patel

Die Funktion wird auf Ihrem localhost nicht funktionieren, da der locahost nicht als SMTP-Server fungiert. Laden Sie Ihre Inhalte auf einen gültigen Server mit SMTP, und installieren Sie den Mail-Aufruf.

1
K Cloud

Versuchen Sie, die folgenden Dinge in Ihrer php.ini einzustellen,

  1. "SMTP" an "mail.IhreDomain.de"
  2. "smtp_port" bis "25"

ODER Sie können diese Option auch mit einem PHP-Skript einstellen.

// Bitte geben Sie Ihren Mail-Server oder einen anderen Mail-Server an, den Sie verwenden möchten (z. B. gmail, yahoo).

ini_set("SMTP","mail.YourDomain.com");

// Bitte geben Sie eine SMTP-Nummer an. 25 und 8889 sind gültige SMTP-Ports.

ini_set("smtp_port","25");
0
Manish Chauhan

Hier ist der Link, der mir die Antwort gibt:

Installieren Sie das "gefälschte sendmail für Windows". Wenn Sie XAMPP nicht verwenden, können Sie es hier herunterladen: http://glob.com.au/sendmail/sendmail.Zip

Ändern Sie die Datei php.ini so, dass sie verwendet werden kann (in den anderen Zeilen auskommentiert):

mail-Funktion

Nur für Win32.

SMTP = smtp.gmail.com

smtp_port = 25

Nur für Win32.

sendmail_from = <e-mail username>@gmail.com

Nur für Unix. Sie können auch Argumente angeben

(default: "sendmail -t -i").

sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"

(Ignorieren Sie das "Nur Unix" -Bit, da wir sendmail tatsächlich verwenden.)

Sie müssen dann die Datei "sendmail.ini" in dem Verzeichnis konfigurieren, in dem sendmail installiert wurde:

sendmail

smtp_server=smtp.gmail.com
smtp_port=25
error_logfile=error.log
debug_logfile=debug.log
auth_username=<username>
auth_password=<password>
force_sender=<e-mail username>@gmail.com
0
Mani Kandan

Ihr Server verfügt nicht über einen lokalen Mailserver. 

Es gibt wenige Lösungen: 

  • Installieren Sie den lokalen Mail-Server, wenn Sie über ausreichende Rechte verfügen
  • Ändern Sie Ihre PHP -Einstellungen, um andere Mail-Server zu verwenden (andere offene Mailserver oder auth-basierte Server wie Google Mail, Yahoo usw.)
  • Verwenden Sie eine der verfügbaren Mail-Bibliotheken, die IMAP/POP3 für das Senden von E-Mails unterstützen. SwiftMailer oder Pear Mail sind eine der am häufigsten verwendeten.
0
Tomasz Banasiak

Ich hatte dieses Problem in den letzten Wochen auf meinen Centos-Boxen und teilte es für andere, die ebenfalls Probleme mit mail () in php nicht senden ... Dies hat das Problem mit all meinen mail () -Php-Skripts behoben.

// Enable the sendmail in selinux
setsebool -P httpd_can_sendmail 1

// Add the following to /etc/postfix/main.cf
relayhost = smtp.server.com

// Then from command line
service postfix restart
0
wieljer