PDA

View Full Version : سوال: خطا در ارسال ایمیل



طبیب دل
دوشنبه 27 اردیبهشت 1389, 02:10 صبح
سلام
من تو برنامم که app هست برای ارسال ایمیل از کلاس زیر استفاده میکنم که این کلاس رو هم از همین سایت گرفتم


using System.Net.Mail;
class SendEmail
{
public static void SendMessage(string subject, string messageBody, string fromAddress, string toAddress, string ccAddress)
{
MailMessage message = new MailMessage();
SmtpClient client = new SmtpClient();
message.From = new MailAddress(fromAddress);
// Allow multiple "To" addresses to be separated by a semi-colon
if (toAddress.Trim().Length > 0)
{
foreach (string addr in toAddress.Split(';'))
{
message.To.Add(new MailAddress(addr));
}
}
// Allow multiple "Cc" addresses to be separated by a semi-colon
if (ccAddress.Trim().Length > 0)
{
foreach (string addr in ccAddress.Split(';'))
{
message.CC.Add(new MailAddress(addr));
}
}
message.Subject = subject;
message.Body = messageBody;
client.Host = "YourMailServer";
client.Send(message);
}
}

ولی پیغام خطای زیر رو میده چی کارکنم
Failure sending mail.

amir.khanlari
دوشنبه 27 اردیبهشت 1389, 08:28 صبح
سلام.
تنظیمات smtp رو انجام دادید؟ اون کد درست هستش ولی تنظیمات میل سرور و sender رو باید انجام داده باشید . از این کد می تونید استفاده کنید یکم تغییرش دادم

public static void SendMessage(string subject, string messageBody, string fromAddress, string toAddress, string ccAddress)
{
MailMessage message = new MailMessage();
SmtpClient client = new SmtpClient();
message.From = new MailAddress(fromAddress);
// Allow multiple "To" addresses to be separated by a semi-colon
if (toAddress.Trim().Length > 0)
{
foreach (string addr in toAddress.Split(';'))
{
message.To.Add(new MailAddress(addr));
}
}
//Allow multiple "Cc" addresses to be separated by a semi-colon
if (ccAddress.Trim().Length > 0)
{
foreach (string addr in ccAddress.Split(';'))
{
message.CC.Add(new MailAddress(addr));
}
}
message.Subject = subject;
message.Body = messageBody;
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.Send(message);
}

این کد رو هم باید به app.config اضافه کنید

<system.net>
<mailSettings>

<smtp from="your mail address">
<network host="smtp.gmail.com or yourhostname" userName="your userId" password="yourpass"/>

</smtp>

</mailSettings>
</system.net>

که در کد بالا در host اسم میل سرورتون رو می نویسید و در username,password هم user,pass خودتون رو در میل سرور وارد می کنید

طبیب دل
دوشنبه 27 اردیبهشت 1389, 12:51 عصر
سلام.
تنظیمات smtp رو انجام دادید؟ اون کد درست هستش ولی تنظیمات میل سرور و sender رو باید انجام داده باشید . از این کد می تونید استفاده کنید یکم تغییرش دادم

public static void SendMessage(string subject, string messageBody, string fromAddress, string toAddress, string ccAddress)
{
MailMessage message = new MailMessage();
SmtpClient client = new SmtpClient();
message.From = new MailAddress(fromAddress);
// Allow multiple "To" addresses to be separated by a semi-colon
if (toAddress.Trim().Length > 0)
{
foreach (string addr in toAddress.Split(';'))
{
message.To.Add(new MailAddress(addr));
}
}
//Allow multiple "Cc" addresses to be separated by a semi-colon
if (ccAddress.Trim().Length > 0)
{
foreach (string addr in ccAddress.Split(';'))
{
message.CC.Add(new MailAddress(addr));
}
}
message.Subject = subject;
message.Body = messageBody;
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.Send(message);
}

این کد رو هم باید به app.config اضافه کنید

<system.net>
<mailSettings>

<smtp from="your mail address">
<network host="smtp.gmail.com or yourhostname" userName="your userId" password="yourpass"/>

</smtp>

</mailSettings>
</system.net>

که در کد بالا در host اسم میل سرورتون رو می نویسید و در username,password هم user,pass خودتون رو در میل سرور وارد می کنید
ممنون از راهنماییتون
ولی برنامه من تحت شبکه نیست و اپلیکیشن هست این ارسال ایمیل رو هم برای فرم ارسال نظرات میخوام حالا واسه اسم سرور و user و pass چی بزارم من که نمیدونم کاربر از چه سروری استفاده میکنه

amir.khanlari
دوشنبه 27 اردیبهشت 1389, 13:27 عصر
این کد تحت winapp هم جواب میده . برای استفاده از این کد یا باید از سرویس جمیل استفاده کنید و یا خودتون میل سرور داشته باشید.

طبیب دل
دوشنبه 27 اردیبهشت 1389, 15:54 عصر
این کد تحت winapp هم جواب میده . برای استفاده از این کد یا باید از سرویس جمیل استفاده کنید و یا خودتون میل سرور داشته باشید.
كاري رو كه گفتيد انجام دادم حالا وقتي مي خواد send كنه خطاي زير رو ميده
The operation has timed out.

amir.khanlari
دوشنبه 27 اردیبهشت 1389, 17:19 عصر
از چه میل سروری استفاده می کنید برای ارسال ایمیل؟