Codeigniter: SMTP E-mail funktioniert nicht
Ich versuche zum einrichten eines Kontakt-Formular, und ich bin kämpfen, um es Arbeit mit der SMTP-Konfiguration im CI. Aber ich habe erfolgreich versucht, mit dem basic 'E-mail' config.
Kurz gesagt, ich mache meine tests mit diesem einfachen code:
$config = array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.1and1.es',
'smtp_port' => 25,
'smtp_user' => '[email protected]',
'smtp_pass' => '********',
'mailtype' => 'text',
'charset' => 'utf-8',
'wordwrap' => true,
'wrapchars' => 50
);
$this->load->library('email');
$this->email->initialize($config);
$this->email->from('[email protected]');
$this->email->to('[email protected]');
$this->email->reply_to('[email protected]', 'John Doe');
$this->email->subject('Message sent from the contact form in website');
$this->email->message('Body of message...');
if ($this->email->send()) {
return true;
}
echo '<!--' . print_r($this->email->print_debugger(), true) . '-->';
return false;
Ich habe nur gefragt, mein hosting-Anbieter und alle die SMTP-config korrekt ist. Sie haben auch überprüft meine e-mail-Konto ordnungsgemäß funktioniert.
In der Tat, wenn ich wählen:
protocol => "E-mail"
wird die Nachricht ohne Probleme. AFAIK die php-Funktion mail() nutzt auch der hosting-provider, SMTP, aber es zeigt einfach die Hände über den server und vergisst es.
Stattdessen verwende ich die SMTP-Authentifizierung, die sorgen über den Versand der e-mail. Aber nur durch die änderung
protocol => 'smtp'
wenn ich dann das Formular Absenden, es gibt eine Menge von Verarbeitungszeit und ich endlich dieses debugging-Meldung:
220 smtp.1and1.es (mreu2) Welcome to Nemesis ESMTP server
hello: The following SMTP error was encountered:
Failed to send AUTH LOGIN command. Error: 421 smtp.1and1.es connection timed out
from: The following SMTP error was encountered:
to: The following SMTP error was encountered:
data: The following SMTP error was encountered:
The following SMTP error was encountered:
Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.
User-Agent: CodeIgniter
Date: Thu, 24 Jan 2013 18:51:31 +0100
From: <my_real_email_address@gmail.com>
Return-Path: <my_real_email_address@gmail.com>
To: my_real_email_address@gmail.com
Reply-To: "John Doe" <my_real_email_address@gmail.com>
Subject: =?utf-8?Q?Message_sent_from_the_contact_form_in_website?=
X-Sender: my_real_email_address@gmail.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <510174a33158d@gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Body of message...
Was könnte der Grund sein für diesen Fehler?
InformationsquelleAutor Luis Martin | 2013-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Kerl erwähnt habe ein Problem mit einer config-Element mit einfachen Anführungszeichen:
Ich bin ziemlich sicher, dass
protocol => mail
sich nicht Ihres Anbieters-es wird senden Sie die E-Mail direkt von Ihrem server.Wenn es nicht das Apostroph-Problem ist, könnte es ein Problem mit falschen Anmeldeinformationen, der firewall oder der Verbindung Anforderung (sagen, wenn Sie Ihre E-Mail-provider TLS/SSL).
Versuchen Sie, eine Verbindung zum mail-server und senden Sie eine E-Mail mit einem anderen client (könnte man mit telnet: http://www.wikihow.com/Send-Email-Using-Telnet oder thunderbird oder somesuch) zu überprüfen, ob die Protokolle richtig sind.
Nur mein problem behoben, vielen Dank!
Vielen Dank, verbrachte ich Stunden damit, zu verstehen, was das Problem ist und wenden unterschiedliche smtp-Lösungen, aber es war nur Zitate.. Danke zuzuteilen @stormdrain , Sie haben made my day.
Dies war für mich auch!
InformationsquelleAutor stormdrain