Visual c net gửi thư. Hình thức gửi dữ liệu qua email đơn giản nhất bằng HTML và PHP. Kiểm tra thư của hoạt động máy khách smtp

Xin chào. Vì chứng cuồng đồ của tôi đang tiến triển nên tôi quyết định thêm một bài viết khác. Bài viết, như mọi khi, sẽ chứa các ví dụ bằng C#, nhưng một chuyên gia VB ít nhiều có kỹ năng sẽ dễ dàng viết lại tất cả mã trong VB.NET.

Hãy bắt đầu thôi, tôi đoán vậy

Để gửi E-Mail chúng ta cần sử dụng ba đối tượng. System.Net.Mail.SmtpClient để gửi tin nhắn, System.Net.Mail.MailMessage để hiển thị tin nhắn và System.Net.NetworkCredential để ủy quyền.

Hãy tạo một khách hàng:

Var client = new SmtpClient("$Mail-Server-Address$", $Mail-Server-Port$);

Tham khảo của nhà thiết kế:

SmtpClient(máy chủ chuỗi, cổng int);

Hãy tạo một thể hiện của lớp MailMessage:

Var msg = new MailMessage("from", "to");

Bây giờ hãy đặt chủ đề và nội dung của bức thư (nhân tiện, mọi thứ đều có thể được đặt trong hàm tạo). Và cả thông tin đăng nhập và mật khẩu cho ứng dụng khách smtp. Sau đó, chúng ta sẽ gửi thư bằng phương thức Send của đối tượng client:

Var client = new SmtpClient("smtp.yandex.ru"); var msg = new MailMessage("from", "to"); msg.Subject = "Tin nhắn thử nghiệm của tôi"; msg.Body = "Xin chào bạn của tôi! Hãy tưởng tượng rằng tôi vừa viết một chương trình đáng kinh ngạc để gửi bức thư vô nghĩa này cho bạn một tỷ lần chỉ bằng vài cú nhấp chuột!"; msg.SubjectEncoding = Encoding.UTF8; msg.BodyEncoding = Encoding.UTF8; // thông điệp ưu tiên.Priority = MailPriority.High; // nội dung email bằng html? msg.IsBodyHtml = false; client.Credentials = new NetworkCredential("đăng nhập", "mật khẩu"); client.Send(tin nhắn);

Đó là tất cả. Đừng quên điền chính xác tất cả các thông tin được yêu cầu.


Bình luận ()

ruslang02 30

CoolHacker, tôi có thể mượn đoạn mã này của bạn cho phần 3 của trình duyệt web không?

Coolhacker 770 ruslang02 30

Cảm ơn bạn, tôi sẽ sử dụng nó để gửi liên kết qua e-mail
như trong FireFox

LetSevI 10

Một trong những chức năng phổ biến nhất trên trang web là mẫu đơn đăng ký hoặc đơn đặt hàng, dữ liệu từ đó sẽ được gửi qua email đến chủ sở hữu trang web. Theo quy định, các biểu mẫu như vậy rất đơn giản và bao gồm hai hoặc ba trường để nhập dữ liệu. Làm thế nào để tạo một mẫu đơn đặt hàng như vậy? Điều này đòi hỏi phải sử dụng ngôn ngữ đánh dấu HTML và ngôn ngữ lập trình PHP.

Bản thân ngôn ngữ đánh dấu HTML rất đơn giản; bạn chỉ cần tìm ra cách thức và vị trí đặt các thẻ nhất định. Với ngôn ngữ lập trình PHP, mọi thứ phức tạp hơn một chút.

Đối với một lập trình viên, việc tạo một biểu mẫu như vậy không khó, nhưng đối với một nhà thiết kế bố cục HTML, một số thao tác có vẻ khó khăn.

Tạo biểu mẫu gửi dữ liệu bằng html

Dòng đầu tiên sẽ như sau

Đây là một yếu tố rất quan trọng của hình thức. Trong đó chúng tôi cho biết dữ liệu sẽ được truyền như thế nào và đến tệp nào. Trong trường hợp này, mọi thứ được chuyển bằng phương thức POST sang tệp send.php. Chương trình trong tệp này phải nhận dữ liệu theo đó, dữ liệu sẽ được chứa trong mảng bài đăng và gửi đến địa chỉ email được chỉ định.

Hãy trở lại hình thức. Dòng thứ hai sẽ chứa trường để nhập tên đầy đủ của bạn. Có đoạn mã sau:

Loại biểu mẫu là văn bản, nghĩa là người dùng sẽ có thể nhập hoặc sao chép văn bản tại đây từ bàn phím. Tham số tên chứa tên của biểu mẫu. Trong trường hợp này, đó là fio; dưới tên này, mọi thứ mà người dùng nhập vào trường này sẽ được truyền đi. Tham số giữ chỗ chỉ định nội dung sẽ được viết trong trường này dưới dạng giải thích.

Hàng tiếp theo:

Ở đây, hầu hết mọi thứ đều giống nhau, nhưng tên của trường là email và lời giải thích là người dùng nhập địa chỉ email của mình vào biểu mẫu này.

Dòng tiếp theo sẽ là nút "gửi":

Và dòng cuối cùng trong mẫu sẽ là thẻ

Bây giờ chúng ta hãy đặt mọi thứ lại với nhau.





Bây giờ hãy đặt các trường trong biểu mẫu là bắt buộc. Chúng tôi có đoạn mã sau:





Tạo một tệp chấp nhận dữ liệu từ biểu mẫu HTML

Đây sẽ là một tập tin có tên send.php

Trong tệp, ở giai đoạn đầu tiên, bạn cần chấp nhận dữ liệu từ mảng bài đăng. Để làm điều này, chúng tôi tạo hai biến:

$fio = $_POST["fio"];
$email = $_POST["email"];

Tên biến trong PHP được đặt trước dấu $ và dấu chấm phẩy được đặt ở cuối mỗi dòng. $_POST là một mảng mà dữ liệu từ biểu mẫu được gửi vào. Ở dạng html, phương thức gửi được chỉ định là phương thức="post". Vì vậy, hai biến từ dạng html được chấp nhận. Để bảo vệ trang web của bạn, bạn cần chuyển các biến này qua một số bộ lọc - các hàm php.

Hàm đầu tiên sẽ chuyển đổi tất cả các ký tự mà người dùng sẽ cố gắng thêm vào biểu mẫu:

Trong trường hợp này, các biến mới không được tạo trong php mà sử dụng các biến hiện có. Những gì bộ lọc sẽ làm là chuyển đổi ký tự "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Hàm thứ hai giải mã url nếu người dùng cố gắng thêm nó vào biểu mẫu.

$fio = urldecode($fio);
$email = urldecode($email);

Với hàm thứ ba, chúng ta sẽ xóa khoảng trắng ở đầu và cuối dòng, nếu có:

$fio = cắt($fio);
$email = cắt($email);

Có các chức năng khác cho phép bạn lọc các biến php. Việc sử dụng chúng tùy thuộc vào mức độ lo ngại của bạn về việc kẻ tấn công sẽ cố gắng thêm mã chương trình vào biểu mẫu gửi email html này.

Xác thực dữ liệu được chuyển từ dạng HTML sang tệp PHP

Để kiểm tra xem mã này có hoạt động hay không và dữ liệu có được truyền hay không, bạn chỉ cần hiển thị nó trên màn hình bằng chức năng echo:

echo $fio;
tiếng vang "
";
tiếng vang $email;

Dòng thứ hai ở đây là cần thiết để tách đầu ra của các biến php thành các dòng khác nhau.

Gửi dữ liệu nhận được từ biểu mẫu HTML tới email bằng PHP

Để gửi dữ liệu qua email, bạn cần sử dụng hàm mail trong PHP.

mail("gửi đến địa chỉ nào", "chủ đề của bức thư", "Thư (nội dung của bức thư)","Từ: thư được gửi từ email nào \r\n");

Ví dụ: bạn cần gửi dữ liệu đến email của chủ sở hữu hoặc người quản lý trang web [email được bảo vệ].

Chủ đề của bức thư phải rõ ràng và nội dung của bức thư phải chứa những gì người dùng chỉ định trong biểu mẫu HTML.

thư(" [email được bảo vệ]", "Ứng dụng từ trang web", "Tên đầy đủ:".$fio.". E-mail: ".$email ,"Từ: [email được bảo vệ]\r\n");

Cần phải thêm một điều kiện để kiểm tra xem biểu mẫu có được gửi bằng PHP đến địa chỉ email được chỉ định hay không.

nếu (thư(" [email được bảo vệ]", "Đặt hàng từ trang web", "Tên đầy đủ:".$fio.". E-mail: ".$email ,"Từ: [email được bảo vệ]\r\n"))
{
echo "tin nhắn đã được gửi thành công";
) khác (
}

Do đó, mã chương trình của tệp send.php, tệp này sẽ gửi dữ liệu biểu mẫu HTML tới email, sẽ trông như thế này:

$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = cắt($fio);
$email = cắt($email);
// tiếng vang $fio;
// tiếng vang "
";
// tiếng vang $email;
nếu (thư(" [email được bảo vệ]", "Ứng dụng từ trang web", "Tên đầy đủ:".$fio.". E-mail: ".$email ,"Từ: [email được bảo vệ]\r\n"))
( echo "tin nhắn đã được gửi thành công";
) khác (
echo "xảy ra lỗi khi gửi tin nhắn";
}?>

Ba dòng để kiểm tra xem dữ liệu có đang được chuyển vào tệp hay không sẽ được nhận xét. Nếu cần, chúng có thể được gỡ bỏ vì chúng chỉ cần thiết để gỡ lỗi.

Chúng tôi đặt mã HTML và PHP để gửi biểu mẫu trong một tệp

Trong phần bình luận cho bài viết này, nhiều người đặt câu hỏi làm thế nào để đảm bảo rằng cả biểu mẫu HTML và mã PHP để gửi dữ liệu tới email đều nằm trong một tệp chứ không phải hai tệp.

Để thực hiện công việc này, bạn cần đặt mã HTML của biểu mẫu vào tệp send.php và thêm một điều kiện sẽ kiểm tra sự hiện diện của các biến trong mảng POST (mảng này được gửi từ biểu mẫu). Nghĩa là, nếu các biến trong mảng không tồn tại thì bạn cần hiển thị cho người dùng biểu mẫu. Ngược lại, bạn cần nhận dữ liệu từ mảng và gửi đến người nhận.

Hãy xem cách thay đổi mã PHP trong tệp send.php:



Mẫu đơn từ trang web


//kiểm tra xem các biến có tồn tại trong mảng POST không
if(!isset($_POST["fio"]) và !isset($_POST["email"]))(
?>





) khác (
//hiển thị biểu mẫu
$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = cắt($fio);
$email = cắt($email);
nếu (thư(" [email được bảo vệ]", "Ứng dụng từ trang web", "Tên đầy đủ:".$fio.". E-mail: ".$email ,"Từ: [email được bảo vệ]\r\n"))(
echo "Tin nhắn đã được gửi thành công";
) khác (
echo "Đã xảy ra lỗi khi gửi tin nhắn";
}
}
?>

Chúng ta kiểm tra sự tồn tại của một biến trong mảng POST bằng hàm PHP isset(). Dấu chấm than trước hàm này trong điều kiện có nghĩa là phủ định. Nghĩa là, nếu biến không tồn tại thì chúng ta cần hiển thị biểu mẫu của mình. Nếu tôi không đặt dấu chấm than thì điều kiện đó sẽ có nghĩa đen là “nếu tồn tại thì hiển thị biểu mẫu”. Và điều này là sai trong trường hợp của chúng tôi. Đương nhiên, bạn có thể đổi tên nó thành index.php. Nếu đổi tên file đừng quên đổi tên tên file ở dòng

. Biểu mẫu phải liên kết đến cùng một trang, ví dụ: index.php. Tôi đã thêm tiêu đề trang vào mã.

Các lỗi phổ biến xảy ra khi gửi biểu mẫu PHP từ trang web

Lỗi đầu tiên, có lẽ là lỗi phổ biến nhất, là khi bạn nhìn thấy một trang trắng trống không có tin nhắn. Điều này có nghĩa là bạn đã mắc lỗi trong mã trang. Bạn cần bật hiển thị tất cả các lỗi trong PHP và sau đó bạn sẽ thấy lỗi xảy ra ở đâu. Thêm vào mã:

ini_set("display_errors","Bật");
error_reporting("E_ALL");

Tệp send.php chỉ được chạy trên máy chủ, nếu không mã sẽ không hoạt động. Khuyến khích rằng đây không phải là máy chủ cục bộ vì không phải lúc nào nó cũng được cấu hình để gửi dữ liệu đến máy chủ thư bên ngoài. Nếu bạn chạy mã không phải trên máy chủ thì mã PHP sẽ được hiển thị trực tiếp trên trang.

Vì vậy, để hoạt động chính xác, tôi khuyên bạn nên đặt tệp send.php trên máy chủ lưu trữ trang web. Theo quy định, mọi thứ đã được cấu hình ở đó.

Một lỗi phổ biến khác là khi xuất hiện thông báo “Tin nhắn đã gửi thành công” nhưng thư lại không đến được qua đường bưu điện. Trong trường hợp này, bạn cần kiểm tra cẩn thận dòng:

nếu (thư(" [email được bảo vệ]", "Đặt hàng từ trang web", "Tên đầy đủ:".$fio.". E-mail: ".$email ,"Từ: [email được bảo vệ]\r\n"))

Thay vì [email được bảo vệ] phải có một địa chỉ email để gửi thư đến, nhưng thay vào đó[email được bảo vệ] phải là một email hiện có cho trang web này. Ví dụ: đối với một trang web, đây sẽ là . Chỉ trong trường hợp này, một lá thư có dữ liệu từ biểu mẫu sẽ được gửi.

Chỉ huy tàu Ngày 14 tháng 10 năm 2013 lúc 07:29 chiều

Lập trình gửi email bằng nhiều dịch vụ khác nhau

Bạn rất thường xuyên phải giải quyết việc gửi email từ mã chương trình. Bạn không cần phải tìm đâu xa để tìm ví dụ.

Bài viết này là một gợi ý và không tiết lộ bất cứ điều gì mới, nhưng trước khi viết nó, tôi đã tìm kiếm điều tương tự trên Internet và khá ngạc nhiên rằng hầu hết mọi nơi họ đều đưa ra một giải pháp không hiệu quả hoặc lỗi thời, hoặc đơn giản là được viết mù chữ.

Điều đầu tiên bạn không nên làm dựa trên những ví dụ này là sử dụng System.Web.Mail, vốn đã lỗi thời từ lâu và bắt đầu với Visual Studio 2010, bạn thậm chí không thể thêm thư viện System.Web nếu không biết đường dẫn đầy đủ vào DLL tương ứng.
Thay vào đó, người ta đề xuất sử dụng thư viện System.Net.
sử dụng System.Net; sử dụng System.Net.Mail;
Vì vậy, điều đơn giản nhất, cũng là điều quan trọng nhất và được sử dụng thường xuyên, là gửi một lá thư từ máy chủ thư của bạn nơi máy khách SMTP được định cấu hình. Như bạn hiểu, máy chủ có thể là máy chủ chạy ứng dụng hoặc máy chủ từ xa mà bạn có quyền gửi thư mà không cần ủy quyền bổ sung.

Mã mẫu để gửi thư từ máy cục bộ:
", "[email được bảo vệ]"))( mm.Subject = "Chủ đề thư"; mm.Body = "Nội dung thư"; mm.IsBodyHtml = false; sử dụng (SmtpClient sc = new SmtpClient("127.0.0.1"))(//Địa chỉ phải là ở đây máy chủ thư và cổng, nếu cần sc.Send(mm);

Sử dụng các dịch vụ email như Gmail, Yandex, Mail.ru, v.v. mọi thứ đều giống nhau, chỉ những thông số được ủy quyền mới được thêm vào.

Máy chủ SMTP: smtp.gmail.com
Cảng: 587
sử dụng (MailMessage mm = new MailMessage("Name ", "[email được bảo vệ]"))( mm.Subject = "Chủ đề thư"; mm.Body = "Nội dung thư"; mm.IsBodyHtml = false; sử dụng (SmtpClient sc = new SmtpClient("smtp.gmail.com", 587))( sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [email được bảo vệ]", "GmailPassword"); sc.Send(mm); ) )

Máy chủ SMTP: smtp.yandex.ru
Cảng: 25
sử dụng (MailMessage mm = new MailMessage("Name ", "[email được bảo vệ]"))( mm.Subject = "Chủ đề thư"; mm.Body = "Nội dung thư"; mm.IsBodyHtml = false; sử dụng (SmtpClient sc = new SmtpClient("smtp.yandex.ru", 25))( sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [email được bảo vệ]", "YandexPassword"); sc.Send(mm); ) )

Máy chủ SMTP: smtp.mail.ru
Cảng: 25
sử dụng (MailMessage mm = new MailMessage("Name ", "[email được bảo vệ]"))( mm.Subject = "Chủ đề thư"; mm.Body = "Nội dung thư"; mm.IsBodyHtml = false; sử dụng (SmtpClient sc = new SmtpClient("smtp.mail.ru", 25))( sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [email được bảo vệ]", "MailRuPassword"); sc.Send(mm); ) )
Nếu hộp thư của bạn trên dịch vụ mail.ru kết thúc bằng inbox.ru, list.ru hoặc bk.ru thì địa chỉ máy chủ SMTP sẽ thay đổi tương ứng (smtp.inbox.ru, smtp.list.ru và smtp.bk.ru ).

Như bạn có thể thấy, để sử dụng bất kỳ dịch vụ thư nào khác trong chương trình của mình, bạn chỉ cần tìm hiểu địa chỉ và cổng máy chủ SMTP cũng như các quy tắc ủy quyền.

Điều quan trọng cần nhớ là hầu hết tất cả các dịch vụ email của bên thứ ba đều áp đặt giới hạn về số lượng email được gửi trong một khoảng thời gian.

Tags: email, gửi thư, smtp

Gửi tin nhắn qua email trong Visual Studio 2013 C++


Có vẻ như tại sao lại phát minh lại bánh xe? Có nhiều chương trình có thể gửi email: cả trả phí và miễn phí. Trong các chương trình này, bạn có thể gửi thư không phải cho một người mà cho nhiều người nhận cùng một lúc. Tuy nhiên, việc thêm người nhận vẫn được thực hiện thủ công; nhập địa chỉ của họ là một công việc khó khăn, đặc biệt nếu có hơn chục địa chỉ. Nếu bạn cần thường xuyên gửi hàng trăm email thì sao? Và tôi không nói về thư rác, mà ý tôi là gửi thư hoàn toàn hợp pháp?

Trong trường hợp này, một chương trình đặc biệt có thể đến giải cứu. Bài viết này sẽ không chứa toàn bộ chương trình như vậy mà là một chương trình nhỏ chỉ gửi một lá thư đến một địa chỉ. Trong trường hợp này, việc ủy ​​quyền xảy ra thông qua smpt, nghĩa là bức thư được gửi không phải từ một nơi nào đó không xác định mà từ một hộp thư rất thật. Ví dụ sử dụng mail.ru.

Vì vậy, đây là văn bản của chương trình.

#include "stdafx.h" #using sử dụng không gian tên System; sử dụng không gian tên System::Net; sử dụng không gian tên System::Net::Mail; sử dụng không gian tên System::Net::Mime; sử dụng không gian tên System::Threading; sử dụng không gian tên System::ComponentModel; int main() ( SmtpClient ^Smtp = gcnew SmtpClient("smtp.mail.ru", 25); Smtp->Credentials = gcnew NetworkCredential("[email protected]", "your_password"); Smtp->EnableSsl = true ; MailMessage ^Message = gcnew MailMessage(); Message->From = gcnew MailAddress("[email protected]"); Tin nhắn->To->Add(gcnew MailAddress("[email protected]")); = "Header"; Message->Body = "Message"; Smtp->Send(Message); Điều đáng nói là phải đáp ứng những điều kiện nào: một dự án trong Visual Studio 2013 được tạo không chỉ cho C++, nó còn phải là bảng điều khiển, hỗ trợ môi trường CLR. Chúng ta hãy xem xét kỹ hơn những gì xảy ra và dòng nào trong chương trình C++ này sẽ gửi tin nhắn đến hộp email đã chọn.

Từ dòng 1 đến dòng 8, các tệp tiêu đề và không gian tên được kết nối. Dòng 13 khởi tạo máy chủ smpt. Yandex và Google sử dụng tên riêng của họ: smtp.yandex.ru và smtp.google.ru. Số 25 trên dòng này là cổng. Nếu nhà cung cấp của bạn chặn cổng này hoặc bạn không thể kết nối, bạn có thể thử các tùy chọn sau: 465 hoặc 587. Trên dòng 14, bạn cần nhập tài khoản email của mình (từ đó thư sẽ được gửi) và mật khẩu cho hộp thư này.

Chúng tôi đặc biệt chú ý đến dòng 15 - đây là nơi kết nối giao thức ssl bảo mật. Điều này là bắt buộc đối với Yandex và Mail. Dòng 17 tạo một tin nhắn; lúc 18 - địa chỉ trả lại; lúc 19 - địa chỉ người nhận; 20 - tiêu đề thư; 21 - tin nhắn; dòng 22 gửi. Nếu sau khi khởi động chương trình mà không có lỗi nào xuất hiện, không có gì xảy ra thì mọi thứ đều ổn - hãy kiểm tra hộp thư của người nhận.

Nếu bạn có ít nhất một số kỹ năng lập trình nhỏ thì việc hoàn thành phần còn lại sẽ khá dễ dàng. Bạn cần tạo một cửa sổ, biểu mẫu, một số trường nhập trong biểu mẫu, buộc chương trình tải danh sách địa chỉ từ, chẳng hạn như tệp văn bản hoặc cơ sở dữ liệu MS Access. Nếu điều này vẫn chưa hoàn toàn rõ ràng với bạn, thì trong những bài viết sau tôi sẽ cho bạn biết mọi thứ chi tiết hơn.

Bạn có thể hỏi bất kỳ câu hỏi nào về các chương trình trong C++, java, script trong java script và php, tạo và bố cục trang web qua thư [email được bảo vệ] hoặc gõ Skype up777up2. Với một mức phí rất hợp lý, tôi sẽ sẵn lòng giúp đỡ bạn.

Phép cộng

Một trong những khách truy cập blog đã đặt câu hỏi: làm cách nào để đính kèm tệp trong chương trình này? Câu trả lời rất đơn giản: bạn cần thêm một vài dòng mã vào ứng dụng:

Chuỗi^ att = L"att.xls"; Tệp đính kèm^ dan = gcnew Tệp đính kèm(att, MediaTypeNames::Application::Octet); Tin nhắn->Đính kèm->Thêm(dan); Trong dòng đầu tiên, chúng tôi xác định tệp đính kèm, trong dòng thứ hai, chúng tôi xác định dữ liệu và thứ tự không giải thích nó (tiêu đề Kiểu nội dung của giao thức MIME) và trong dòng thứ ba, chúng tôi thêm nó vào chữ cái. Đó là tất cả.

Chỉ huy tàu Ngày 14 tháng 10 năm 2013 lúc 07:29 chiều

Lập trình gửi email bằng nhiều dịch vụ khác nhau

  • .MẠNG LƯỚI

Bạn rất thường xuyên phải giải quyết việc gửi email từ mã chương trình. Bạn không cần phải tìm đâu xa để tìm ví dụ.

Bài viết này là một gợi ý và không tiết lộ bất cứ điều gì mới, nhưng trước khi viết nó, tôi đã tìm kiếm điều tương tự trên Internet và khá ngạc nhiên rằng hầu hết mọi nơi họ đều đưa ra một giải pháp không hiệu quả hoặc lỗi thời, hoặc đơn giản là được viết mù chữ.

Điều đầu tiên bạn không nên làm dựa trên những ví dụ này là sử dụng System.Web.Mail, vốn đã lỗi thời từ lâu và bắt đầu với Visual Studio 2010, bạn thậm chí không thể thêm thư viện System.Web nếu không biết đường dẫn đầy đủ vào DLL tương ứng.
Thay vào đó, người ta đề xuất sử dụng thư viện System.Net.
sử dụng System.Net; sử dụng System.Net.Mail;
Vì vậy, điều đơn giản nhất, cũng là điều quan trọng nhất và được sử dụng thường xuyên, là gửi một lá thư từ máy chủ thư của bạn nơi máy khách SMTP được định cấu hình. Như bạn hiểu, máy chủ có thể là máy chủ chạy ứng dụng hoặc máy chủ từ xa mà bạn có quyền gửi thư mà không cần ủy quyền bổ sung.

Mã mẫu để gửi thư từ máy cục bộ:
", "[email được bảo vệ]"))( mm.Subject = "Chủ đề thư"; mm.Body = "Nội dung thư"; mm.IsBodyHtml = false; sử dụng (SmtpClient sc = new SmtpClient("127.0.0.1"))(//Địa chỉ phải là ở đây máy chủ thư và cổng, nếu cần sc.Send(mm);

Sử dụng các dịch vụ email như Gmail, Yandex, Mail.ru, v.v. mọi thứ đều giống nhau, chỉ những thông số được ủy quyền mới được thêm vào.

Máy chủ SMTP: smtp.gmail.com
Cảng: 587
sử dụng (MailMessage mm = new MailMessage("Name ", "[email được bảo vệ]"))( mm.Subject = "Chủ đề thư"; mm.Body = "Nội dung thư"; mm.IsBodyHtml = false; sử dụng (SmtpClient sc = new SmtpClient("smtp.gmail.com", 587))( sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [email được bảo vệ]", "GmailPassword"); sc.Send(mm); ) )

Máy chủ SMTP: smtp.yandex.ru
Cảng: 25
sử dụng (MailMessage mm = new MailMessage("Name ", "[email được bảo vệ]"))( mm.Subject = "Chủ đề thư"; mm.Body = "Nội dung thư"; mm.IsBodyHtml = false; sử dụng (SmtpClient sc = new SmtpClient("smtp.yandex.ru", 25))( sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [email được bảo vệ]", "YandexPassword"); sc.Send(mm); ) )

Máy chủ SMTP: smtp.mail.ru
Cảng: 25
sử dụng (MailMessage mm = new MailMessage("Name ", "[email được bảo vệ]"))( mm.Subject = "Chủ đề thư"; mm.Body = "Nội dung thư"; mm.IsBodyHtml = false; sử dụng (SmtpClient sc = new SmtpClient("smtp.mail.ru", 25))( sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential(" [email được bảo vệ]", "MailRuPassword"); sc.Send(mm); ) )
Nếu hộp thư của bạn trên dịch vụ mail.ru kết thúc bằng inbox.ru, list.ru hoặc bk.ru thì địa chỉ máy chủ SMTP sẽ thay đổi tương ứng (smtp.inbox.ru, smtp.list.ru và smtp.bk.ru ).

Như bạn có thể thấy, để sử dụng bất kỳ dịch vụ thư nào khác trong chương trình của mình, bạn chỉ cần tìm hiểu địa chỉ và cổng máy chủ SMTP cũng như các quy tắc ủy quyền.

Điều quan trọng cần nhớ là hầu hết tất cả các dịch vụ email của bên thứ ba đều áp đặt giới hạn về số lượng email được gửi trong một khoảng thời gian.

Tags: email, gửi thư, smtp