2012-04-09 28 views
8

Tôi muốn sử dụng MvcMailer trong thư viện lớp, về cơ bản sẽ là nơi duy nhất để soạn và gửi email cho giải pháp của tôi. Tôi nghĩ rằng đó là những gì MvcMailer được thiết kế cho, nhưng nó xuất hiện nó không thể tìm thấy bất kỳ tập tin .cshtml của tôi - Tôi đoán nó hy vọng họ trong dự án khởi động của tôi.Có thể sử dụng MvcMailer trong thư viện lớp học không?

Có cách nào để MvcMailer tách biệt 100% với các dự án khác của tôi không?

Cảm ơn.

Trả lời

1

này là không thể theo MvcMailer tài liệu https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide (trích dưới đây), có thể bạn có thể có một dự án web riêng biệt mà mục đích duy nhất của nó là để gửi email và chỉ chấp nhận yêu cầu từ ứng dụng của bạn

Email Gửi từ Quy trình nền Bạn có cần gửi email từ quá trình nền không? Vâng bạn đã đúng. Bạn không muốn chặn chu kỳ yêu cầu/phản hồi của bạn để gửi email thông báo đó. Thay vào đó, những gì bạn muốn là một quá trình nền mà nó làm cho bạn, ngay cả khi nó được gửi sau một sự chậm trễ ngắn. Dưới đây là những gì bạn có thể làm:

Lưu dữ liệu liên quan đến email của bạn vào cơ sở dữ liệu. Tạo một dịch vụ web REST/SOAP để gửi email. Điều này sẽ đảm bảo Mailer của bạn có quyền truy cập vào HttpContext, điều cần thiết cho khung công tác ASP.NET MVC cốt lõi để hoạt động đúng. Ví dụ: để tìm lượt xem của bạn, tạo URL và thực hiện xác thực/ủy quyền. Tạo một ứng dụng đơn giản gọi dịch vụ web. Đây có thể là một ứng dụng dịch vụ cửa sổ hoặc một ứng dụng có thể chạy được trong tác vụ Windows Scheduled. Phiên bản tương lai của MvcMailer có khả năng có hỗ trợ cho việc này. Nhưng rất khó vì hai lý do:

MailMessage không thể Serializable ra khỏi hộp và có rất nhiều trường và liên kết phức tạp. Khuôn khổ ASP.NET cốt lõi vẫn cần HttpContext: (

+1

Cảm ơn bạn đã đăng bài. Đây là một điều đáng tiếc bởi vì điều đó không thể thực hiện được nhưng tôi đã tự hỏi Sau khi lãng phí một vài giờ, có vẻ như không có giải pháp dễ dàng – smdrager

+3

Dường như bạn có thể sử dụng ActionMailer.Net.Standalone để làm điều này vì nó sử dụng RazorEngine. yêu cầu cho HttpContext và có thể được sử dụng trong một quá trình/lắp ráp hoàn toàn độc lập –

+1

Sử dụng độc lập ActionMailer.Net: http://geeksharp.com/2011/07/06/actionmailer-0-6-released/ –

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