MAIL SEND C# SMTP
برای ارسال ایمیل در C# با استفاده از پروتکل SMTP، باید از فضای نام `System.Net.Mail` استفاده کنید. این پروتکل به شما اجازه میدهد تا ایمیلها را به سرورهای SMTP ارسال کنید. در ادامه، مراحل و کدهای لازم برای ارسال ایمیل به صورت کامل توضیح داده میشود.
مراحل ارسال ایمیل با SMTP
- نصب پکیجهای لازم:
- تنظیمات SMTP:
- آدرس سرور SMTP
- پورت سرور (معمولاً 587 برای TLS و 25 یا 465 برای SSL)
- نام کاربری و رمز عبور شما برای احراز هویت
- نوشتن کد برای ارسال ایمیل:
```csharp
using System;
using System.Net;
using System.Net.Mail;
class Program
{
static void Main()
{
try
{
// اطلاعات ایمیل
var fromAddress = new MailAddress("your_email@example.com", "Your Name");
var toAddress = new MailAddress("recipient@example.com", "Recipient Name");
const string fromPassword = "your_password";
const string subject = "Test Email";
const string body = "Hello, this is a test email.";
// تنظیمات SMTP
var smtp = new SmtpClient
{
Host = "smtp.example.com", // آدرس SMTP
Port = 587, // پورت SMTP
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
// ساخت ایمیل
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
Console.WriteLine("Email sent successfully.");
}
catch (Exception ex)
{
Console.WriteLine("Failed to send email. Error: " + ex.Message);
}
}
}
```
توضیحات کد
- MailAddress: برای تعیین آدرس فرستنده و گیرنده استفاده میشود.
- SmtpClient: مسئول برقراری ارتباط با سرور SMTP است.
- MailMessage: برای ساخت ایمیل شامل عنوان و محتوای آن استفاده میشود.
- Try-Catch: برای مدیریت خطاها در هنگام ارسال ایمیل.
نکات مهم
- حتماً مطمئن شوید که اطلاعات SMTP را به درستی وارد کردهاید.
- در صورت استفاده از Gmail، باید تنظیمات امنیتی حساب Gmail خود را تغییر دهید تا اجازه ارسال ایمیل از طریق برنامههای شخص ثالث را بدهید.
- در صورتی که از SSL استفاده میکنید، پورت را بر اساس نیاز خود تنظیم کنید.
با رعایت این مراحل، شما میتوانید به راحتی ایمیلهای خود را از طریق C# و SMTP ارسال کنید.