PDA

View Full Version : گفتگو: طریقه اضافه کردن امکان Atach کردن به کد ارسال ایمیل



titrajh
سه شنبه 25 خرداد 1389, 13:46 عصر
سلام
من با کدی که دوستان در سایت آموزش داده بودن ایمیل رو ارسال میکنم

کسی میتونه کمک کنه بشه فایل ضمیمه هم باهاش فرستاد

اینم از کد :





using System.Net.Mail;
using System.Text;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress("Your Gmail Mail","@mk",new UTF8Encoding());
mail.To.Add("Mail That Recive Your Mail");
mail.IsBodyHtml = true;
mail.Subject = "Mail Subject";
mail.BodyEncoding = new UTF8Encoding();
mail.Body = "Mail Body";
SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("YourGmailUsername", "YourGmailPassword");
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
try
{
smtp.Send(mail);
Button1.Text = "sent";
}
catch (System .Net.Mail.SmtpException exp)
{
Label1.Text = exp.ToString();
}
}
}
}




ممنون از همه خوبان

maxpayn2
سه شنبه 25 خرداد 1389, 19:11 عصر
اگه میخوای فایلتو ضمیمه کنی، پایین صفحه دکمه ای هست به نام مدیریت ضمیمه ها، اونو که بزنی آدرس فایلتو میگیره و تمام......

اگه درست متوجه سوال نشدید مجبور نیستید جواب بدید .

Arash.M
چهارشنبه 26 خرداد 1389, 02:34 صبح
سلام دوست عزیز

قبل از اینکه از ایمیل رو ارسال کنی باید تمامی فایلهای ضمیمه رو بهش الحاق کرده باشی.

با دستورات زیر:



Attachment attachment = new Attachment(stream, name, type);
mail.Attachments.Add(attachment);


البته با توجه به اینکه کلاس MailMessage یک Collection برای Attachment داره پس میشه برای هر فایلی که می خواهی به ایمیلت اضافه کنی یک بار دو دستور بالا اجرا بشه.

titrajh
چهارشنبه 26 خرداد 1389, 15:29 عصر
میشه یکم بیشتر توضیح بدین ؟ مثلان آدرس فایل و از کجا به کجا باید بدم یه مثال کوچیک
من با این کد ارسال میکنم کجاش باید قرار بدم



public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress("Your Gmail Mail","@mk",new UTF8Encoding());
mail.To.Add("Mail That Recive Your Mail");
mail.IsBodyHtml = true;
mail.Subject = "Mail Subject";
mail.BodyEncoding = new UTF8Encoding();
mail.Body = "Mail Body";
SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("YourGmailUsername", "YourGmailPassword");
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
try
{
smtp.Send(mail);
Button1.Text = "sent";
}
catch (System .Net.Mail.SmtpException exp)
{
Label1.Text = exp.ToString();
}
}
}
}

Arash.M
چهارشنبه 26 خرداد 1389, 20:18 عصر
یه راه راحت تر از اونکه دیشب گفتم.
Constructor کلاس Attachment شش تا Overload دیگه هم داره.
راحت ترین اونها اینه :



Attachment avatar = new Attachment(مسیر کامل فایل);



اگر فرض کنیم تو شاخه اصلی پروژه ات، شاخه ای به نام Image داشته باشی که توش یک فایل به نام Avatar.bmp باشه، می تونی با اضافه کردن دو دستوری که مشخص کردم به کد اون فایل رو بهش Attach کنی.


publicpartialclass_Default : System.Web.UI.Page
{
protectedvoid Page_Load(object sender, EventArgs e)
{
}
protectedvoid Button1_Click(object sender, EventArgs e)
{
{
MailMessage mail = newMailMessage();
mail.From = newMailAddress("Your Gmail Mail", "@mk", new UTF8Encoding());
mail.To.Add("Mail That Recive Your Mail");
mail.IsBodyHtml = true;
mail.Subject = "Mail Subject";
mail.BodyEncoding = new UTF8Encoding();
mail.Body = "Mail Body";
//-------------------------------------------------------
Attachment avatar = new Attachment(Server.MapPath("./Images/Avatar.bmp"));
mail.Attachments.Add(avatar);
//-------------------------------------------------------
SmtpClient smtp = newSmtpClient();
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("YourGmailUsername", "YourGmailPassword");
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
try
{
smtp.Send(mail);
Button1.Text = "sent";
}
catch (System.Net.Mail.SmtpException exp)
{
Label1.Text = exp.ToString();
}
}
}
}