ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
سلام وقت بخیر .
بنده نیاز دارم که از C# و از سمت نرم افزار خودم از طریق میل سرور که یک VPS تهیه کردم و cPanel و ... ایمیل ارسال کنم
از طریق SMTP و ابزار های MimeKit و MailKit ایمیل رو ارسال می کنم و هیچ مشکلی نداره .
اما مشکل اینه که ایمیلی که ارسال می کنم باید یه نسخه ازش در Sent بمانه ، اما اینطور نیست .
برای این مشکل چه راه حلی پیشنهاد میشه ؟
var message = new MimeMessage();
message.From.Add(new MailboxAddress("Mohsen", "mohsen@domain.com"));
message.To.Add(new MailboxAddress("deweloper77@gmail.clom"));
message.Subject = "Test SubJect";
var builder = new BodyBuilder();
builder.HtmlBody = "BODy TEXT";
message.Body = builder.ToMessageBody();
using (var client = new SmtpClient())
{
client.Connect("mail.domain.com", 587, false);
client.Authenticate("mohsen@domain.com", "PassWord");
client.Send(message);
client.Disconnect(true);
}
نقل قول: ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
من خودم از این روش استفاده میکنم خیلی خوب ارسال میکنه و تو Sent هم میمونه
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient(txtSmtpServer.Text);
mail.From = new MailAddress("test@gmail.com", "تست");
mail.To.Add(txtTo.Text);
mail.Subject = txtSubject.Text;
mail.IsBodyHtml = true;
mail.Body = htmlEditor1.Html;
try
{
if (this.File != "")
{
Attachment at = new Attachment(this.File);
mail.Attachments.Add(at);
}
}
catch(Exception ex)
{
;
}
SmtpServer.Port = int.Parse(txtPortServer.Text);
SmtpServer.Credentials = new System.Net.NetworkCredential(txtUserServer.Text, txtPasswordServer.Text);
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
MessageBox.Show("ایمیل با موفقیت ارسال شد.");
}
catch (Exception ex)
{
MessageBox.Show("خطایی در ارسال به وجود آمد: "+ex.Message);
}
نقل قول: ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
نقل قول:
نوشته شده توسط
رامین مرادی
من خودم از این روش استفاده میکنم خیلی خوب ارسال میکنه و تو Sent هم میمونه
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient(txtSmtpServer.Text);
mail.From = new MailAddress("test@gmail.com", "تست");
mail.To.Add(txtTo.Text);
mail.Subject = txtSubject.Text;
mail.IsBodyHtml = true;
mail.Body = htmlEditor1.Html;
try
{
if (this.File != "")
{
Attachment at = new Attachment(this.File);
mail.Attachments.Add(at);
}
}
catch(Exception ex)
{
;
}
SmtpServer.Port = int.Parse(txtPortServer.Text);
SmtpServer.Credentials = new System.Net.NetworkCredential(txtUserServer.Text, txtPasswordServer.Text);
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
MessageBox.Show("ایمیل با موفقیت ارسال شد.");
}
catch (Exception ex)
{
MessageBox.Show("خطایی در ارسال به وجود آمد: "+ex.Message);
}
به غیر از Gmail جایی دیگه امتحان کردید ؟ gmail خودش این کار انجام میده و اما بقیه سرویس ها اینطوری نیست
نقل قول: ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
متسفانه رو چند تا دامنه خودمون تست کردیم مثل گوگل خوب نبود. برا همین مجبورا رو گوگل داریم استفاده میکنیم. خیلی هم عالی جواب میده
نقل قول: ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
کد شما این اررور رو برای من میده :
System.Net.Mail.SmtpException: 'Failure sending mail.'
IOException: The handshake failed due to an unexpected packet format.
نقل قول: ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
پورت رو چند تنظیم میکنید؟من رو 587 تنظیم کردم
از گوگل اجازه دسترسی برنامه هارو میدید؟ این مورد رو چک کنید حتما
نقل قول: ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
نقل قول:
نوشته شده توسط
رامین مرادی
پورت رو چند تنظیم میکنید؟من رو 587 تنظیم کردم
از گوگل اجازه دسترسی برنامه هارو میدید؟ این مورد رو چک کنید حتما
هم از 587 و هم 465 . ،
از جیمیل استفاده نمی کنم . از سرور خودم استفاده می کنم و این پورت ها باز هستند .
جالب اینه که با کامپوننت وقتی ارسال می کنم ( MimeKit و MailKit ) به راحتی ارسال می کنه ، ولی وقتی خودم کد می زنم این اررور ها رو میده
نقل قول: ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
از دوستان کسی اگه اینو بتونه انجام بده ، هزینه اش هم تقدیم میشه
https://stackoverflow.com/questions/...el-and-dovecot
اینچا هم تاپیک زدم ولی هیچ !
نقل قول: ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
بعد از ارسال موفق ایمیل، از طریق ImapClient پیام را به فولدر مورد نظر اضافه کنید.
using (ImapClient imapClient = new ImapClient())
{
imapClient.Connect("imap.server.addreess", 993, true);
imapClient.Authenticate("username", "password");
IMailFolder sentFolder = imapClient.GetFolder(MailKit.SpecialFolder.Sent);
sentFolder.Append(message);
}
نقل قول: ارسال ایمیل به وسیله SMTP و ذخیره ان در قسمت Sent
ممنونم ، لطف بسیاری کردید ،
مشکلم حل شد