2011-12-01 26 views
5

Trong Bánh 1.3, EmailComponent đã làm những gì cần làm. Lớp Email Bánh mới trong phiên bản 2.0 hóa ra là một sự thất vọng .... Không có email nào được gửi, Không có lỗi .... tài liệu mơ hồ ...CakePHP 2.0: CakeEmail thất vọng

Tôi đã thử tất cả các biến thể có thể, đã thử với SMTP, Thư của tôi() và Gmail, không có gì xảy ra. Hướng nỗ lực mới nhất của tôi:

đoạn Bộ điều khiển:

//on top of page 
App::uses('CakeEmail', 'Network/Email'); 


//in method 
$email = new CakeEmail(); 
$email->template('contact_email') 
->emailFormat('text') 
->to('[email protected]') 
->from('[email protected]') 
->send(); 

Email.php Config file:

lớp EmailConfig {

//It also does not work with a constructor 

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

Có thể ai đó xin vui lòng gửi mã LÀM VIỆC cho Lớp Email. Rất cám ơn

+0

"Không có gì xảy ra" không có mô tả lỗi thực sự. Gỡ lỗi được đặt thành 2? – burzum

+0

Gỡ lỗi được đặt thành 2. Khi tôi gửi biểu mẫu của mình, tôi nhận được thông báo thành công ..... email không bao giờ được gửi. – ChrisDK

+2

-1. Hãy chuyên nghiệp hơn một chút với các câu hỏi trong tương lai; những lời chỉ trích không mang tính xây dựng, CAPS, và cho tôi mã làm việc không tạo ra những câu hỏi hay. –

Trả lời

9

Tôi nghĩ rằng bạn phải tải cấu hình của bạn từ Config/email.php một cách rõ ràng, nó không được nạp tự động, không ngay cả những cấu hình mặc định:

$email = new CakeEmail(); 
$email->config('default'); 

//or in constructor:: 
$email = new CakeEmail('default'); 
+1

CUỐI CÙNG, cảm ơn vì phản hồi, nó đã hoạt động! Chúc mừng năm mới – ChrisDK

+0

Không còn nữa kể từ CakePHP 2.7, trong đó cấu hình 'mặc định' được tải tự động. –

1

Đây là tệp cấu hình email của tôi. Tôi didnt làm bất cứ thay đổi ở đây

class EmailConfig { 

    public $default = array(
     'transport' => 'Mail', 
     'from' => 'Admin <[email protected]>',  
     'charset' => 'utf-8', 
     'headerCharset' => 'utf-8', 
    ); 

} 

Đây là cách tôi gửi qua đường bưu điện

$email = new CakeEmail(); 

$result = $email->template('welcome') 
       ->emailFormat('text') 
       ->to($NewUser['email']) 
       ->from('[email protected]') 
       ->send(); 
var_dump($result); 
+0

Cảm ơn nhà phát triển web. Tôi đã làm tất cả các bạn nói, tôi thấy một bãi chứa và thêm các thông số chính xác cho máy chủ mail của tôi (Đó là làm việc với các thành phần Mail cũ), vẫn không có gì được gửi đi. Bạn có thể gửi email với tập lệnh này không? Tôi không nhận được thông báo lỗi. – ChrisDK

+0

vâng tôi có thể gửi nó – aWebDeveloper

+0

bạn đang gửi trên localhost – aWebDeveloper

3

Theo tôi bạn nên sử dụng này:

$email = new CakeEmail('gmail'); 
Các vấn đề liên quan