2014-05-02 11 views
10

Tôi đang sử dụng Laravel 4, tôi muốn thay đổi cấu hình thư (như trình điều khiển/máy chủ/cổng/...) trong bộ điều khiển vì tôi muốn lưu cấu hình trong cơ sở dữ liệu với cấu hình thư khác. Đây là gửi cơ bản mail sử dụng cấu hình từ config/mail.phpLàm thế nào để thay đổi cấu hình thư trước khi gửi thư trong bộ điều khiển bằng cách sử dụng Laravel?

Mail::send(
    'emails.responsable.password_lost', 
    array(), 
    function($message) use ($responsable){ 
     $message->to($responsable->email, $responsable->getName()); 
     $message->subject(Lang::get('email.password_lost')); 
    }); 

Tôi đã cố gắng để đưa một cái gì đó giống như nhưng nó đã không làm việc

$message->port('587'); 

Cám ơn sự ủng hộ của bạn!

Jean

Trả lời

16

Bạn có thể thiết lập/thay đổi bất kỳ cấu hình một cách nhanh chóng sử dụng Config::set:

Config::set('key', 'value'); 

Vì vậy, để thiết lập/thay đổi các cảng ở mail.php bạn có thể thử này:

Config::set('mail.port', 587); // default 

Lưu ý: Giá trị cấu hình được đặt ở thời gian chạy chỉ được đặt cho yêu cầu hiện tại và sẽ không được chuyển sang các yêu cầu tiếp theo. Read more.

Cập nhật: A hack for saving the config at runtime.

+0

Cảm ơn bạn! chỉ là những gì tôi đang tìm kiếm – jibe

+0

Bạn được chào đón :-) –

+0

Tôi đang đối mặt với loại vấn đề tương tự. Tôi đã tạo ra một nhà cung cấp dịch vụ 'MailServiceProvider' và khai báo' Config :: set ('mail.port', 587); '' Config :: set ('mail.driver', smtp) 'như thế này trong' register() 'hàm. Nhưng nó dường như không hoạt động. Giúp đánh giá cao :) Câu hỏi gốc: [liên kết] (https://stackoverflow.com/questions/45146260/not-able-to-echo-from-service-provider-to-mail-php-laravel) – Saurabh

0

Câu trả lời được lựa chọn không làm việc cho tôi, tôi cần thêm những điều sau đây để những thay đổi được đăng ký.

Config::set('key', 'value'); 
(new \Illuminate\Mail\MailServiceProvider(app()))->register(); 
+0

Giải pháp này là hữu ích khi tôi đang làm việc trên Laravel 4.2. Tôi không sử dụng Laravel nữa, bạn có thể muốn mở một luồng khác để có câu trả lời trên Laravel 5+. chúc may mắn! – jibe

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