2009-03-01 13 views

Antwort

27

Google Mail-Server verwenden SMTP-Authentifizierung unter SSL oder TLS. Ich denke, dass es keine Möglichkeit gibt, die mail() Funktion unter den Umständen nach verwenden, so dass Sie diese Alternativen prüfen möchten:

Sie alle unterstützen SMTP Authentifizierung unter SSL.

Sie müssen die Erweiterung php_openssl in Ihrer php.ini aktivieren.

Weitere Ressourcen:

+0

Vielen Dank! – Jonathan

+1

Würden Sie mir sagen, wo genau Sie hingelangen? $ host = "ssl: //smtp.gmail.com"; $ port = 465; .? Danke –

1

Ich bin sicher, es würde auch SMTP-Authentifizierung Anmeldeinformationen erfordern.

2

i in XAMPP weiß, ich kann sendmail.ini konfigurieren um lokale E-Mails weiterzuleiten. brauchen

smtp_sever 
smtp_port 
auth_username 
auth_password 

das funktioniert zu setzen, wenn meine eigenen Server verwenden, gmail nicht so sicher nicht sagen, dass Sie keine Probleme

11

haben würden, wenn Sie die Datei php.ini in wamp öffnen Sie werden diese beiden Zeilen finden:

smtp_server 
smtp_port 

den Server und die Portnummer für den Host hinzufügen

die folgenden zwei Zeilen (möglicherweise müssen sie für Details kontaktieren) nicht exist:

auth_username 
auth_password 

Sie müssen sie also hinzufügen, um E-Mails von einem Server senden zu können, der eine Authentifizierung erfordert. So ein Beispiel kann sein:

smtp_server = mail.example.com 
smtp_port = 26 
auth_username = [email protected] 
auth_password = example_password 
+1

Nicht getestet, aber das ist wahrscheinlich falsch. Für PHP gibt es keine solchen Anweisungen (außer "smtp_port"). Siehe auch http://StackOverflow.com/A/21891895/3827190 als Referenz. – Kubo2

2

Verwenden Sie Stunnel auf Ihrem Server, um mit Google Mail zu senden. Google es.

2

Es ist ziemlich einfach.(Adapt Syntax für Ihre Bequemlichkeit)

public $smtp = array(
    'transport' => 'Smtp', 
    'from' => '[email protected]', 
    'host' => 'ssl://smtp.gmail.com', 
    'port' => 465, 
    'timeout' => 30, 
    'username' => '[email protected]', 
    'password' => '*****' 
) 
2

Mögen Sie Zend-Bibliothek?

$config = array('auth' => 'login', 
        'ssl' => 'ssl', 
        'port'=> 465, 
        'username' => '[email protected]', 
        'password' => 'XXXXXXX'); 

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config); 
$mail = new Zend_Mail(); 
$mail->setBodyText('This is the text of the mail.'); 
$mail->setFrom('[email protected]', 'Some Sender'); 
$mail->addTo('[email protected]', 'Some Recipient'); 
$mail->setSubject('TestSubj'); 
$mail->send($transport); 

dass mein Set in localhost Server aktiv ist, und ich kann in der Lage eingehende E-Mails an meine Mail-Box zu sehen.

13

[Mit hMailServer]
Nach der Installation müssen Sie die folgende Konfiguration richtig Mail von wampserver senden:

1) When you first open hMailServer Administrator, you need to add a new domain. 
2) Click on the "Add Domain ..." button at the Welcome page. 
3) Under the domain text field, enter your computer's IP, in this case it should be 127.0.0.1. 
4) Click on the Save button. 
5) Go to Settings>Protocols>SMTP and select "Delivery of Email" tab 
6) Enter "localhost" in the localhost name field. 
7) Click on the Save button. 

Wenn Sie E-Mails mit einer FROM Empfänger eines anderen Computers senden müssen, was Sie brauchen um Lieferungen von externen zu externen Konten zu ermöglichen. Um dies zu erreichen, gehen Sie folgendermaßen vor:

1) Go to Settings>Advanced>IP Ranges and double click on "My Computer" which should have IP address of 127.0.0.1 
2) Check the Allow Deliveries from External to External accounts checkbox. 
3) Save settings using Save button. 

(. Allerdings Windows Live/Hotmail verweigert alle E-Mails von dynamischen IP-Adressen kommen, die die meisten Wohn-Computer verwenden dieses Problem umgehen, Google Mail-Konto verwenden)

So verwenden Sie Google Mail-Konto:

1) Go to Settings>Protocols>SMTP and select "Delivery of Email" tab 
2) Enter "smtp.gmail.com" in the Remote Host name field. 
3) Enter "465" as the port number 
4) Check "Server requires authentication" 
5) Enter gmail address in the Username 
6) Enter gmail password in the password 
7) Check "Use SSL" 

(Hinweis: "Von" -Feld doesnt Funktion mit gmail)


* S. s. In seltenen Fällen kann es alles unter require SMTP authentication in benötigt werden, um untick:

  • für lokale: Einstellungen> Erweitert> IP-Bereiche> "My Computer"
  • für extern: Einstellungen> Erweitert> IP-Bereiche> "Internet"
+2

Ich muss diesen Befehl vor einem Speicherleck mit einem Lesezeichen versehen. – Charlesliam

+1

Befolgt diese Anweisungen, funktioniert perfekt mit Hmailserver 5.6.4 und einem Google Mail-Konto. Wenn Sie die Fehlermeldung '530 SMTP authentication is required' erhalten, müssen Sie der letzten Angabe folgen (der p.s.) – Zimmi