Ich benutze Codeigniter
Ich habe den Code auf dem Live-Server ausgegeben
Senden von E-Mails mit PHP SMTP nicht möglich. Ihr Server ist möglicherweise nicht so konfiguriert, dass E-Mails mit dieser Methode gesendet werden.
public function sendEnquiry() {
$this->load->library('email');
$name = $this->input->post("fname");
$cemail = $this->input->post("email");
$pno = $this->input->post("phone");
$message = $this->input->post("message");
$config['protocol'] = 'smtp';
$config['smtp_Host'] = 'ssl://mail.gatewaykhobar.com';
$config['smtp_port'] = '465';
$config['smtp_timeout'] = '7';
$config['smtp_user'] = '***********';
$config['smtp_pass'] = '***********';
$config['charset'] = 'utf-8';
$config['newline'] = "\r\n";
$config['mailtype'] = 'text'; // or html
$config['validation'] = FALSE;
$this->email->initialize($config);
$this->email->from('[email protected]','Gateway Restaurent Contact');
$this->email->to($cemail);
$this->email->subject('Gateway Restaurent Contact Enquiry');
$this->email->message($message);
$send = $this->email->send();
if($send) {
echo json_encode("send");
} else {
$error = $this->email->print_debugger(array('headers'));
echo json_encode($error);
}
}
Ändern Sie smtp_port von 465 auf 587. Stellen Sie sicher, dass $ config ['newline'] = "\ r\n"; ist in Anführungszeichen und nicht in Anführungszeichen
Eine häufige Ursache ist die Art und Weise, wie CodeIgniter mit dem SMTP-Server in Bezug auf Zeilenumbrüche interagiert. Ihr SMTP-Server erfordert möglicherweise \r\n
und CodeIgniter verwendet \n
.
Es gibt eine einfache Lösung: Fügen Sie nach Ihrer $this->email->initialize()
Folgendes hinzu:
$this->email->set_newline("\r\n");
Damit sollte es für Sie funktionieren.
Es sieht so aus, als ob der Mailserver auch von Ihnen selbst gehostet wird. Versuchen Sie, E-Mails von einem beliebigen E-Mail-Client aus zu senden. Wenn dies fehlschlägt, liegt ein Problem mit Ihrer Mailserver-Konfiguration vor, nicht mit dem eingefügten Code. Überprüfen Sie die Serverprotokolle.
$mail_config['smtp_Host'] = 'smtp.gmail.com';
$mail_config['smtp_port'] = '587';
$mail_config['smtp_user'] = '[email protected]';
$mail_config['_smtp_auth'] = TRUE;
$mail_config['smtp_pass'] = 'password';
$mail_config['smtp_crypto'] = 'tls';
$mail_config['protocol'] = 'smtp';
$mail_config['mailtype'] = 'html';
$mail_config['send_multipart'] = FALSE;
$mail_config['charset'] = 'utf-8';
$mail_config['wordwrap'] = TRUE;
$this->email->initialize($mail_config);
$this->email->set_newline("\r\n");
Ich habe gerade die letzte Zeile hinzugefügt