ارسال ایمیل با استفاده از جیمیل Gmail و ایمیل گوگل
ابتدا باید وارد ایمیل خود شوید
سپس به آدرس زیر بروید
https://www.google.com/settings/security/lesssecureapps
و بعد از وارد شدن به این صفحه
بر روی Enable Less Secure Apps کلیک کنید تا بتوان از کدهای زیر استفاده کرد و در جریان ارسال ایمیل با مشکلی مواجه نشوید.
این کار را ما با استفاده از یک کلاس انجام می دهیم
public class MailSender
{
public static bool SendEmail(
string pGmailEmail,
string pGmailPassword,
string pTo,
string pSubject,
string pBody,
System.Web.Mail.MailFormat pFormat,
string pAttachmentPath)
{
try
{
System.Web.Mail.MailMessage myMail = new System.Web.Mail.MailMessage();
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpserver",
"smtp.gmail.com");
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpserverport",
"465");
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/sendusing",
"2");
//sendusing: cdoSendUsingPort, value 2, for sending the message using
//the network.
//smtpauthenticate: Specifies the mechanism used when authenticating
//to an SMTP
//service over the network. Possible values are:
//- cdoAnonymous, value 0. Do not authenticate.
//- cdoBasic, value 1. Use basic clear-text authentication.
//When using this option you have to provide the user name and password
//through the sendusername and sendpassword fields.
//- cdoNTLM, value 2. The current process security context is used to
// authenticate with the service.
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
//Use 0 for anonymous
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/sendusername",
pGmailEmail);
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/sendpassword",
pGmailPassword);
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpusessl",
"true");
myMail.From = pGmailEmail;
myMail.To = pTo;
myMail.Subject = pSubject;
myMail.BodyFormat = pFormat;
myMail.Body = pBody;
myMail.BodyEncoding = System.Text.Encoding.UTF8;
if (pAttachmentPath.Trim() != "")
{
MailAttachment MyAttachment =
new MailAttachment(pAttachmentPath);
myMail.Attachments.Add(MyAttachment);
myMail.Priority = System.Web.Mail.MailPriority.High;
}
System.Web.Mail.SmtpMail.SmtpServer = "smtp.gmail.com:465";
System.Web.Mail.SmtpMail.Send(myMail);
return true;
}
catch (Exception ex)
{
throw;
}
}
}
حالا با استفاده از تابع زیر آن کلاس را فراخوانی می کنیم و از آن استفاده می کنیم.
MailSender.SendEmail("siros1368@gmail.com", "paswordEmail", "email to (maghsad)", "این موضوع ایمیل است", "در اینجا هم متن ایمیل را قرار میدهیم", System.Web.Mail.MailFormat.Text, Server.MapPath(@"/PicWeblog/footer.rar"));
اگر شما فایلی را برای پیوست کردن ایمیل نداشته باشید بخش آخر را "" بصورت رشته خالی قرار دهید