0

次のコードを使用して、ローカルサーバーで電子メールを送信できます。

    $config['protocol'] = 'smtp';
    $config['charset'] = 'UTF-8';
    $config['mailtype'] = "html";
    $config['wordwrap'] = TRUE;

    $config['smtp_host'] = $this->config->item('smtp_host'); // smtp.critsend.com
    $config['smtp_user'] = $this->config->item('smtp_user'); 
    $config['smtp_pass'] = $this->config->item('smtp_pass');
    $config['smtp_port'] = $this->config->item('smtp_port'); // i'm tried 587 and 25

    $this->load->library('email');
    $this->email->initialize($config);
    $this->email->from('test@test.com', 'test');
    $this->email->reply_to('test@test.com', 'test');
    $this->email->to($user['email']);
    $this->email->subject($subject);
    $this->email->message($html);
    $this->email->set_newline("\r\n");
    $this->email->send();

ただし、実サーバーでは動作しません。このエラーが発生します。

メッセージ: fsockopen() [function.fsockopen]: smtp.critsend.com:25 に接続できません (接続タイムアウト)

ファイル名: libraries/Email.php

ライン番号: 1689

メッセージ: fwrite(): 指定された引数は有効なストリーム リソースではありません

ファイル名: libraries/Email.php

ライン番号: 1846

このエラーに対するいくつかの回答は、「php_openssl を有効にする」です。しかし、私はsslを使用していません(そしてできません)。

4

0 に答える 0