2012-06-26 43 views
5

私は私のCAKEPHPプロジェクトで電子メールを送信するためにSMTPを使用しています。私はエラーSMTPタイムアウト次のメールの投げを送っていますがCakephp 2.0電子メールのSMTP設定が機能しない

$email = new CakeEmail('Smtp'); 
    $result = $email->template('welcome_mail','default') 
         ->emailFormat('html') 
         ->to($to_email) 
         ->from('[email protected]') 
         ->subject('Welcome to my domain name') 
         ->viewVars($contents); 

    if($email ->send('Smtp')) 
    { 
     echo ('success'); 

    } 

を次のように としての私の電子メールの設定は

class EmailConfig { 

    public $Smtp = array(
     'transport' => 'Smtp', 
     'from' => array('[email protected]' => 'domainname.com'), 
     'host' => 'myhostingserver', 
     'port' => 2525, 
     'timeout' => 60, 
     'username' => '[email protected]', 
     'password' => 'secret', 
     'client' => null, 
     'log' => false 
    ); 

と私のメール機能のコードを次の。 My SMTPサーバーの詳細は、既存のサーバーで正常に動作しています。私が間違っている場所が分からない

答えて

6

チェック暗号化の種類をテストするには、このコードを使用することができますSSLまたはTLS

あなたのホストURLは、すでにモジュールがロードされなければならないことをここに推薦したここで何の横に、このような場合には

'host' => 'ssl://myhostingserver' 

または

'host' => 'tls://myhostingserver' 
1

SMTPサーバーにSSLがある場合は、のphp.iniでこのサービスを有効にする必要があります。 あなたは(該当する場合)、例えば

if(!in_array('openssl',get_loaded_extensions())){ 
    die('you have to enable php_openssl in php.ini to use this service');  
} 
0

を次のようになります。私はいくつかのサーバーがいくつかのポートをブロックしていることがわかった。私はこのスクリプトを使っていくつかのサーバーをテストしました:

<?php 

if(!in_array('openssl',get_loaded_extensions())){ 
    die('you have to enable php_openssl in php.ini to use this service');  
} else { 
    echo "php_openssl in php.ini is enabled <br />"; 
} 

// fill out here the smpt server that you want to use 
$host = 'ssl://smtp.gmail.com'; 
// add here the port that you use for for the smpt server 
$ports = array(80, 465); 

foreach ($ports as $port) 
{ 
    $connection = @fsockopen($host, $port); 
    if (is_resource($connection)) 
    { 
     echo $host . ':' . $port . ' ' . '(' . getservbyport($port, 'tcp') . ') is open.<br />' . "\n"; 
     fclose($connection); 
    } else { 
     echo $host . ':' . $port . ' is not responding.<br />' . "\n"; 
    } 
} 

?> 
関連する問題