[英]send a local email with codeIgniter
我嘗試使用codeIgniter發送本地電子郵件。
// envoi du mail
public function envoiMail(){
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'xxxxxxx@gmail.cm',
'smtp_pass' => 'XXXXXX',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'crlf' => '\r\n',
'newline' => '\r\n',
);
$sujet = $this->input->post('sujet');
$message = $this->input->post('message');
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('xxxx@gmail.com', 'Name');
$this->email->to('xxxx@yahoo.fr');
$this->email->subject($sujet);
$this->email->message($message);
$this->email->send();
if($this->email->send()){
// mail transmis
echo "ok";
}else{
// erreur de transmission
echo"erreur d'envoi";
}
}
當我測試時,出現此錯誤:消息:fsockopen():SSL操作失敗,代碼為1。OpenSSL錯誤消息:error:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:證書驗證失敗。
嘗試將您的配置更新為以下內容:
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.googlemail.com',
'smtp_port' => '587',
'smtp_user' => 'xxxxxxx@gmail.cm',
'smtp_pass' => 'XXXXXX',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'crlf' => '\r\n',
'newline' => '\r\n',
)
$config = array( 'protocol' => 'smtp', 'smtp_host' => 'ssl://smtp.googlemail.com', 'smtp_port' => 465, 'smtp_user' => 'yourmail@gmail.com', 'smtp_pass' => 'your password', 'mailtype' => 'html', 'charset' => 'utf-8' );
嘗試這個....
如果您使用的是Avast Antivirus,請禁用它。
在我的情況下,Avast Antivirus阻止了該端口,我使用SMTP端口465從我的Codeigniter項目發送電子郵件。
只需禁用avast防病毒軟件即可解決這種情況。
如果您使用共享主機服務器,則大多數情況下,端口25和587仍將處於阻塞狀態。 此阻止是由主機提供商故意完成的,如果您使用的是本地計算機,則默認情況下,防病毒/防火牆將阻止這些端口。
在這些情況下,您將得到連接超時或套接字連接錯誤。
當這些端口被阻止時,請嘗試使用端口2525進行連接。如果發現該端口也被阻止,則唯一的解決方案是與主機提供商聯系以解除對這些端口的阻止或禁用/編輯防火牆/防病毒規則。
默認情況下,大多數托管服務提供商/防病毒/防火牆會阻止這些電子郵件端口,以保護其網絡免於發送任何類型的垃圾郵件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.