2013-10-05 20 views
5

Những gì tôi đã làmlàm thế nào để gửi mail smtp trong cakephp 2

public $smtp = array(
     'transport' => 'Smtp', 
     'from' => array('[email protected]' => 'test'), 
     'host' => 'mail.mydomain.com', 
     'port' => 80, 
     'timeout' => 60, 
     'username' => '[email protected]', 
     'password' => 'me123', 
     'client' => null, 
     'log' => false, 
     //'charset' => 'utf-8', 
     //'headerCharset' => 'utf-8', 
    ); 

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

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

    } 

những gì tôi đang làm sai ở đây? Xin vui lòng bất cứ ai có thể giải thích các thiết lập smtp ở đây? máy chủ, tên người dùng, mật khẩu, ứng dụng khách là gì?

Hãy hướng dẫn cho tôi là những gì chủ

với tên người dùng và mật khẩu tôi phải đặt ở đây

Trả lời

5

tôi sẽ thêm Email Config để tập email.php của bạn nằm ở /app/Config /email.php, nếu nó không tồn tại bản sao email.php.default để email.php, Thay đổi cài đặt smtp có

public $smtp = array(
    'host' => 'ssl://smtp.gmail.com', 
    'port' => 465, 
    'username' => '[email protected]', 
    'password' => 'secret' 
); 

Ở phía trên của điều khiển của bạn trên điều khiển lớp kéo dài AppController thêm,

App::uses('CakeEmail', 'Network/Email'); 

Sau đó, gửi một email, hãy thử

$Email = new CakeEmail(); 
$Email->from(array('[email protected]' => 'My Site')) 
    ->to('[email protected]') 
    ->subject('About') 
    ->send('My message'); 

Để email kiểm tra những gì tôi thường làm gửi chúng đến Nhật ký bánh,

** Trong /app/Config/email.php, includ e: (Các dữ liệu ghi nhận nên /app/tmp/logs/debug.log)

public $test = array(
    'log' => true 
); 

Cũng làm điều này add 'test' đến $ của bạn Email biến như, **

$Email = new CakeEmail('test'); 
+0

cảm ơn bạn, tôi không biết máy chủ ở đây là gì? và mật khẩu tên người dùng ở đây là của máy chủ hoặc id email của tôi? – anytime

+0

cũng ở đây bạn đã sử dụng hai cài đặt công khai $ smtp = array ( 'host' => 'ssl: //smtp.gmail.com', 'port' => 465, 'username' => 'my @ gmail .com ', ' mật khẩu '=>' bí mật ' ); và công khai $ test = array ( 'log' => true ); , vậy chúng ta có thể sử dụng thiết lập đơn ở đây không? – anytime

+0

Tôi đã thử gmail ở đây ang cho tôi lỗi, Lỗi SMTP: 534 5.7.14 54 f2sm19285370pbg.44 - gsmtp Lỗi: Đã xảy ra lỗi nội bộ. – anytime

Các vấn đề liên quan