Làm thế nào để viết email (tệp .eml) trên đĩa thay vì gửi đến địa chỉ thực trong asp.net? Cảm ơn trước.Làm thế nào để viết email trên đĩa thay vì gửi đến địa chỉ thực trong asp.net?
Trả lời
using (var client = new SmtpClient("somehost"))
{
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
client.PickupDirectoryLocation = @"C:\somedirectory";
client.Send(message);
}
hoặc sử dụng các tập tin cấu hình:
<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory" />
</smtp>
</mailSettings>
</system.net>
</configuration>
Tôi chắc chắn sẽ khuyên bạn nên sử dụng cách tiếp cận tệp cấu hình so với mã. Có khả năng là trong quá trình phát triển bạn sẽ muốn viết các email vào đĩa, nhưng trong triển khai bạn sẽ muốn chuyển đổi các thiết lập mailSettings của bạn để sử dụng một máy chủ Smtp thực. –
Tôi giả định rằng bạn đang sử dụng SmtpClient
vì đó là tiêu chuẩn khá.
Viết triển khai SMTP của riêng bạn (thật dễ dàng) để ghi các thư được gửi qua đĩa đó thay vì gửi email thực sự.
Sau đó
// mailMessage is MailMessage
var client = new SmtpClient("address.of.your.smtp.implementation");
client.Send(mailMessage);
Bây giờ máy chủ của bạn sẽ chặn gửi yêu cầu này và ghi nó vào đĩa.
Bạn có thể cấu hình các SmtpClient để đưa email vào một thư mục cấu hình thay vì gửi chúng. Để làm điều này, bạn cần phải thiết lập các DeliveryMethod
-SpecifiedPickupDirectory
và thiết lập PickupDirectoryLocation
:
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\emails" />
</smtp>
</mailSettings>
</system.net>
Khi bạn gửi email bằng tiêu chuẩn SmtpClient
, họ bây giờ sẽ được lưu vào thư mục chỉ định thay vì thực sự được gửi đi.
- 1. Gửi email sao cho "từ" là tên hoặc văn bản thay vì địa chỉ email thực
- 2. Lync API: Làm cách nào để gửi tin nhắn nhanh đến địa chỉ liên hệ bằng địa chỉ email?
- 3. Gửi email trong asp.net với tên cụ thể thay vì email người gửi
- 4. Cách gửi email đến nhiều địa chỉ bằng System.Net.Mail
- 5. Địa chỉ email người gửi động Devise
- 6. làm thế nào để thay đổi địa chỉ email mặc định cho postfix?
- 7. Gửi email tới nhiều địa chỉ Android
- 8. Làm cách nào để lấy địa chỉ email
- 9. Xác thực địa chỉ email trong UITextField
- 10. postfix: gửi một bản sao của mỗi email đến một địa chỉ email nhất định
- 11. Gửi email đến nhiều địa chỉ email được phân tách bằng dấu phẩy
- 12. C# Cách gửi địa chỉ email thay thế trong giao diện bổ sung
- 13. Phím Gitosis và ssh - địa chỉ email có liên quan đến địa chỉ email git không?
- 14. địa chỉ email noreply.
- 15. Thực tiễn tốt nhất để xác thực địa chỉ email (bao gồm cả + trong địa chỉ gmail)
- 16. ASP.NET Gửi Email
- 17. Làm cách nào để gửi email hàng loạt từ ASP.NET?
- 18. Thay đổi địa chỉ email trong lịch sử Git
- 19. Làm thế nào để dịch địa chỉ bộ nhớ ảo sang địa chỉ thực?
- 20. Có thể gửi email đến địa chỉ chứa ký tự unicode latin bằng cfmail không?
- 21. Làm cách nào để đặt Đường dẫn trả về thành địa chỉ email ngoài địa chỉ người gửi bằng JavaMail?
- 22. Làm cách nào để cập nhật địa chỉ "đến" trên SMTPAppender trong Đăng nhập?
- 23. Làm thế nào để gửi một email từ Jenkins chỉ trong một bản phát hành?
- 24. Gửi 20.000 email trở lên với asp.net
- 25. Jira gửi email từ địa chỉ người dùng
- 26. Làm cách nào để gửi văn bản thuần túy thay vì email HTML từ Rails?
- 27. Tôi làm cách nào để lưu email thay vì gửi khi sử dụng SmtpClient?
- 28. C# ASP.NET Gửi Email qua TLS
- 29. Làm thế nào để bạn trích xuất địa chỉ email từ trường 'Tới' trong triển vọng?
- 30. Địa chỉ của người gửi thư Java được hiển thị thay vì tên của anh ấy
bản sao có thể có của [Cách lưu đối tượng MailMessage vào đĩa dưới dạng * .eml hoặc * .msg file] (http://stackoverflow.com/questions/1264672/how-to-save-mailmessage-object-to-disk -as-eml-or-msg-file) – JPBlanc