ارسال یک ایمیل به Gmail با استفاده از SMTP در #C
دوشنبه 20 مهر 1394در این مقاله می خواهیم در مورد ارسال یک ایمیل به Gmail با استفاده از سرورهای SMTP بدون نیاز به هاست و دامنه با استفاده از سرورهای خود google یک ایمیل ارسال کنیم.
قدم اول Visual خود را باز کرده و یک پروژه ی جدید با #C را می سازید.

اسم پروژه و مسیر ذخیره شده آن را می توانید به صورت تصویر بالا تغییر دهید.
قدم دوم:
یک فرم جدید ایجاد کنید و ابزار هایی که در تصویر زیر است داخل صفحه قرار دهید.

راست کلیک کرده و وارد قسمت کد پروژه خود شوید و Namespace های زیر را قرار دهید.

اگر پیدا نکردید می توانید روی Solution Explorer راست کلیک کرده و گزینه ی Add References را بزنید
و System.Net را انتخاب کنید و اضافه نمایید.

داخل رویداد دکمه ی ارسال ایمیل قطعه کد زیر را بنویسید:
try
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("");
msg.To.Add(textBox1.Text);
msg.Subject = textBox3.Text;
msg.Body = textBox2.Text;
SmtpClient smt = new SmtpClient();
smt.Host = "smtp.gmail.com";
System.Net.NetworkCredential ntcd = new NetworkCredential();
ntcd.UserName = "";
ntcd.Password = "";
smt.Credentials = ntcd;
smt.EnableSsl = true;
smt.Port = 587;
smt.Send(msg);
MessageBox.Show("ایمیل با موفقیت ارسال شد");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
کل کد در صفحه Code Behind به صورت زیر خواهد بود:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Mail;
namespace wingmailapplication
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("");
msg.To.Add(textBox1.Text);
msg.Subject = textBox3.Text;
msg.Body = textBox2.Text;
SmtpClient smt = new SmtpClient();
smt.Host = "smtp.gmail.com";
System.Net.NetworkCredential ntcd = new NetworkCredential();
ntcd.UserName = "";
ntcd.Password = "";
smt.Credentials = ntcd;
smt.EnableSsl = true;
smt.Port = 587;
smt.Send(msg);
MessageBox.Show("ایمیل با موفقیت ارسال شد");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
خروجی به صورت زیر خواهد بود:

- C#.net
- 3k بازدید
- 2 تشکر