PDA

View Full Version : مشکل در ارسال ایمیل



AmiRReZzZzA
جمعه 27 دی 1392, 06:11 صبح
سلام دوستان عزیز . من با کد زیر می توانم به ایدی های داخل لیست باکسم ایمیل بفرستم ولی تنها مشکلی که هستش این است که به 2 برابر ایتم ها ایمیل میده ! یعنی اگه 2 تا ایدی داخل لیست باکس باشه به اون 2 تا به هر کدوم به جای 1 ایمیل 2 تا میده . حالا اگه ایتم ها 100 تا باشن به هر کدوم از ایدی ها 100 تا میل میره ! :لبخند: و یک مشکل جالب تر اینکه رقتی فایلی را ضمیمه می کنیم به اولین ایمیل 1 به دومی 2 و به 3 ومی 3 تا از اون فایل را ضمیمه می کند .
لطفا کد رو بررسی کنید :
private void iFormGlassButton1_Click(object sender, EventArgs e)
{
SmtpClient smtpServer = new SmtpClient();
smtpServer.Credentials = new System.Net.NetworkCredential(txtUser.Text, txtpass.Text);
smtpServer.Port = Convert.ToInt32(txtPort.Text);
smtpServer.Host = txtServer.Text;
if (checkBox1.Checked == true)
{ smtpServer.EnableSsl = true; }
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress(txtUser.Text, textBox1.Text);
for (int i = 0; i < lstbxTargets.Items.Count; i++)
{

mailMessage.Subject = txtSubject.Text;
mailMessage.Body = txtBody.Text;
mailMessage.BodyEncoding = Encoding.UTF8;
mailMessage.SubjectEncoding = Encoding.UTF8;
if (textBox3.Text.Trim() != "")
{
Attachment attac = new Attachment(textBox3.Text);
mailMessage.Attachments.Add(attac);
}
if (textBox2.Text.Trim() != "")
{ mailMessage.CC.Add(textBox2.Text); }
mailMessage.To.Add(lstbxTargets.Items[i].ToString());
smtpServer.Send(mailMessage);
Application.DoEvents();
label6.Text = string.Format("{0} ایمیل فرستاده شده است", i + 1);
}
}

mousa1992
جمعه 27 دی 1392, 14:53 عصر
کدهای مربوط به Attach رو قبل از حلقه بنویس و کدهای مربوط به ارسال ( متد Send ) رو بعد از حلقه ؛ در واقع شما فقط قسمت های مربوط به افزودن target ها رو باید توی حلقه قرار بدید