senden von E-Mails mit codeigniter
Bin versucht, senden Sie eine E-Mail in codeigniter. Habe ich zunächst eine eigenständige Funktion im Modell, und es ist korrespondente in den controller und es funktionierte sehr gut. Die E-Mail wurde gesendet und empfangen wird in beiden yahoo und gmail. Jedoch als ich versuchte, verwenden Sie den gleichen code in einer anderen Funktion wo bin Auswahl die E-Mail-Adresse (Empfänger) aus der Datenbank, es gibt mir eine Meldung, dass die E-Mail erfolgreich gesendet wurde, aber es tatsächlich nicht liefern, yahoo oder gmail. was könnte das problem sein?
Es' nicht sogar die Lieferung in die spam/bulk-mail.
die codes für die, die gearbeitet haben und die gescheitert sind unten.
Modell-Funktion ist
function sendMail()
{
$to = "[email protected]";
$subject = "My Sublect";
$messagetext= "stop distubbing me and work!";
$config=array(
'protocol'=>'smtp',
'smtp_host'=>'mail.mydomail.co.ug',
'smtp_port'=>25,
'smtp_user'=>'[email protected]',
'smtp_pass'=>'mypass'
);
$this->load->library("email",$config);
$this->email->set_newline("\r\n");
$this->email->from("[email protected]","Joyce");
$this->email->to($to);
$this->email->subject($subject);
$this->email->message($messagetext);
if($this->email->send())
{
echo "Mail send successfully!";
}
else
{
show_error($this->email->print_debugger());
}
}
den controller fcn
function sendmail()
{
$this->load->model('customer_model');
$this->customer_model->sendMail();
}
Jedoch, die, die nicht arbeiten, ist Balg
function customer()
{
$this->load->library('email');
$this->load->database();
$data = array(
'name'=>$this->input->post('name'),
'contact'=>$this->input->post('contact'),
'entity'=>$this->input->post('entity'),
'sector'=>$this->input->post('sector'),
'inquiry'=>$this->input->post('inquiry'),
'nature_of_inquiry'=>$this->input->post('nature_of_inquiry'),
'status'=>$this->input->post('status'),
);
$this->db->insert('customers',$data);
$id = $this->db->insert_id();
$refno = date('d/m/Y').'-C'.str_pad($id, 4, "0", STR_PAD_LEFT);
$this->db->query("UPDATE customers set refno = '".$refno."' WHERE id = '".$id."'");
$query=$this->db->query("select entity,name,status,contact from customers where id ='".$id."'");
foreach ($query->result() as $row)
{
$entity = $row->entity;
$phone = $row->contact;
$name = $row->name;
$status = $row->status;
}
$query1=$this->db->query("select phone, email from services where entity = '".$entity."'");
foreach ($query1->result() as $row)
{
$to = $row->email;
}
$sms ="Dear $name, your request/compaint has been $status";
//$emailtext ="yo company has been refferenced by servicecops.";
//$this->sendSMS(test,$phone,$sms);
//$subject = "Servicecops Reminder";
$config=array(
'protocol'=>'smtp',
'smtp_host'=>'mail.mydomain.co.ug',
'smtp_port'=>25,
'smtp_user'=>'[email protected]',
'smtp_pass'=>'mypass',
'mailtype'=>'html'
);
$this->load->library("email",$config);
$this->email->set_newline("\r\n");
$this->email->from("[email protected]","Joyce");
$this->email->to($to);
$this->email->subject("my subject");
$this->email->message("yo company has been refferenced by me");
if($this->email->send())
{
echo "Mail send successfully!";
echo $to;
}
else
{
show_error($this->email->print_debugger());
}
return $this;
}
- Können Sie nach ein paar code-Beispiele sowie die Fehlermeldung, die Sie erhalten.
- Gibt es einen bestimmten Grund, dass Sie nicht mit den CI-mail-Klasse? Wir müssen auch sehen, einige code, und wenn Sie geprüft haben, die spam-Boxen fehlgeschlagen sendet, um zu sehen, ob ein problem bereits in der E-mail-Kopfzeilen.
- Bitte nehmen Sie sich Zeit, wenn Fragen, Fragen! Einige code und was haben Sie versucht!
- Ein code-Beispiel machen würde 😉
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten versuchen zu überprüfen, ob Sie das abrufen der E-Mails auch aus der Datenbank. Wenn ja, dann schauen Sie in den spam. Das würde das problem lösen, denke ich.
Jungs, ich habe das problem entdeckt. Ich hatte definiert die E-Mail Bibliothek zweimal in der gleichen Funktion, die ist, warum Nachrichten, bei denen das nicht erreichen yahoo und Google Mail-Posteingang. am Anfang der Funktion, die ich gestellt hatte. $dies->laden->Bibliothek('email'); und diese in der Mitte. $dies->laden->Bibliothek("email",$config);
Meisten der mails sind immer spam, wenn Sie IP-Adresse verwenden, während der Ausführung mit der URL(ex: 123.117.116.27/test/E-Mail/) anstelle von domain-Namen. So überprüfen Sie spam-Ordner.