Có cách nào để sử dụng lớp "Sự kiện" của Laravel để chạy một số mã trước khi mọi email được gửi không? Tôi cũng muốn có khả năng hủy bỏ Mail::send();
.Trình nghe thư Laravel (Trước khi gửi - Khả năng hủy)
Dĩ nhiên tôi có thể làm được điều này trước khi tôi gửi một email:
Event::fire('email.beforeSend');
Và sau đó tôi có thể lắng nghe theo cách này:
Event::listen('email.beforeSend', function()
{
//my code here
});
Vấn đề ở đây là tôi phải nhớ để chạy Event::fire()
mà tôi không muốn làm. Trong trường hợp của tôi, tôi đang gửi địa chỉ email chống lại danh sách hủy đăng ký để đảm bảo rằng tôi không gửi bất kỳ spam nào.
Thú vị. Vì vậy, người nghe của tôi sẽ trông giống như 'Event :: listen ('mailer.sending', function() {});'? Không quen thuộc với 'Mail :: giả vờ();' Tôi đoán điều này cũng giống như 'giả vờ' => false' trong cấu hình. Tôi sẽ lộn xộn với điều này và lấy lại cho bạn. – sterfry68
Tôi nghĩ rằng 'Mail :: giả vờ(); 'sẽ" giả vờ "để gửi một email khác nhưng sẽ không hủy email hiện tại. Tôi có đúng không? http://laravel.com/docs/4.2/mail#mail-and-local-development – sterfry68
Nó sẽ bật chế độ "giả vờ". Các dòng tiếp theo trong kiểm tra 'sendSwiftMessage' cho chế độ đó và bỏ qua việc gửi. – ceejayoz