Tôi không thể hiểu tại sao nếu tôi cố gắng sử dụng Lớp Email CI nó không gửi email, trong khi nếu tôi sử dụng PHP mail() Class hoạt động.
Phải lưu ý rằng đôi khi tôi nhận được "email đã gửi" trong khi không thực sự được gửi và đôi khi tôi nhận được lỗi "máy chủ của tôi không được thiết lập".
Tôi cố gắng để tìm ra cách để cài đặt nó nhưng ... không có gì ...
điều khiển đang sau:
if($this->form_validation->run()){
//Set Language
$this->lang->load('site', $this->session->userdata('lang'));
//Random key
$user_valid_key = md5(uniqid());
//Prepare email
$this->load->library('email', array('mailtype' => 'html'));
$this->email->from($this->config->item('email_signup_from'), 'Wondermark.net');
$this->email->to($this->input->post('email'));
$this->email->subject($this->lang->line('email_signup_subject'));
//Format mail con %s per inserire i campi necessari
$signup_msg = sprintf($this->lang->line('email_signup_message'), $this->input->post('fname'), base_url().'main/signup_confirm/'.$user_valid_key);
$this->email->message((string)$signup_msg);
if($this->email->send()){
//TODO: load view...
echo "email sent";
}else{
$to = $this->input->post('email');
mail($to, 'test', 'Other sent option failed');
echo $this->input->post('email');
show_error($this->email->print_debugger());
}
//TODO: Add to db
}else{
// Form validation failed
}
Tôi tin rằng bạn đã [kiểm tra kỹ lưỡng Lớp Email] (http://ellislab.com/codeigniter/user-guide/libraries/email.html)? – Ohgodwhy
Yap. Tôi đang tự hỏi nếu điều này được thực hiện trực tuyến, không "từ email" phải là một email tên miền? (ví dụ: [email protected])? –
Tôi sẽ nói có. nếu không, bạn phải là người gửi đáng tin cậy trong bản ghi SPF của tên miền. Hầu hết các nhà cung cấp email [đọc: tốt] sẽ yêu cầu xác thực trước khi thiết lập kết nối với máy chủ SMTP để gửi thư. – Ohgodwhy