سلام، برا ساخت Feedback برا پروژه مث چیزی که Google Chrome داره، از چه روشی باید استفاده کرد؟ این مورد همون ارسال ایمیله؟ یا فرق داره؟ کلا روش اصولی اینکار چیه؟ یا اینطور بپرسم، بهترین روش اینکار چیه؟
اگه همون داستان ارسال ایمیله، کدهایی تو نت من دیدم هم داستان داره؛ برا قسمت ایمیل دریافت کننده، ایمیل خودمو میدم، اما برا قسمت ایمیل ارسال کننده کاربر باید ایمیل خودشو وارد کنه، USER - PASS هم باید وارد کنه که خب من جای کاربر باشم تو خواب هم اینکارو نمیکنم! حالا فرض میکنیم که من برنامه نویس یه ایمیل برای نرم افزارم ایجاد میکنم ( و در تنظیمات ایمیل ام هم، گزینه "دسترسی به برنامه‌ با امنیت کمتر" رو هم فعال میکنم تا نرم افزار ام، به ایمیلم دسترسی داشته باشه )، اینطوری دیگه کاربر نیازی نداره که چیزی وارد کنه ( EMAIL - USER - PASS ) ولی آیا روش صحیح بحث Feedback یا همون ارسال پیام ( همراه با عکس یا اسناد دیگه ) به برنامه نویس همینه؟ خو اینطوری هک کردن ایمیل که کاری نداره که، پسورد هم که تو کدهای پروژه هستش، حتما میگید که هش اش کنم

Untitled.png

protected void SendMail(){
//create mail message
string from = "IslamicApplication1@gmail.com";
string to = "mahdedamarchi@gmail.com";
string subject = "Subject";
string body = "<h1>Body</h1>";
MailMessage mail = new MailMessage(from, to, subject, body)
{
IsBodyHtml = true,
BodyEncoding = UTF8Encoding.UTF8,
DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure,
};


//send the message
string user = from;
string pass = " :) ";
SmtpClient smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(user, pass),
EnableSsl = true,
Timeout = 10000,
DeliveryMethod = SmtpDeliveryMethod.Network,
};
smtp.SendCompleted += Smtp_SendCompleted;


try
{
smtp.SendAsync(mail, mail);
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}


private void Smtp_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
// Get the message we sent
MailMessage msg = (MailMessage)e.UserState;


if (e.Cancelled)
{
Debug.WriteLine("Cancelled");
}
if (e.Error != null)
{
Debug.WriteLine("Error");
}
else
{
Debug.WriteLine("Success");
}


// finally dispose of the message
if (msg != null)
msg.Dispose();
}