PDA

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



reza4359
سه شنبه 15 فروردین 1391, 15:16 عصر
سلام دوستان من از این کد برای ارسال ایمیل استفاده میکنم ولی ایمیلی ارسال نمیشه
SmtpClient obj = new SmtpClient();

MailMessage Mailmsg = new MailMessage();

Mailmsg.To.Clear();



Mailmsg.To.Add(new MailAddress("info@smd.ir"));

Mailmsg.From = new MailAddress(TextBox1.Text);

Mailmsg.Subject = TextBox2.Text;

Mailmsg.BodyEncoding = System.Text.Encoding.UTF8;

Mailmsg.IsBodyHtml = true;

obj.Host = "آی پی میل سرور هاست";

System.Net.NetworkCredential basicAuthenticationInfo = new System.Net.NetworkCredential(TextBox1.Text, "");



obj.UseDefaultCredentials = false;



obj.Credentials = basicAuthenticationInfo;



Mailmsg.Body = TextBox3.Text;

Mailmsg.IsBodyHtml = true;
اینم تنظیمات web.config
<system.net>
<mailSettings>
<smtp from="info@smd.ir">
<network host="آیپی ایمیل سرور هاست" password="pass" userName="user" />
</smtp>
</mailSettings>
</system.net>
اشکال در کجاست؟

reza4359
سه شنبه 15 فروردین 1391, 18:40 عصر
دوستان اضطراریه لطفا بگید مشکل از کجاست؟

fakhravari
سه شنبه 15 فروردین 1391, 19:20 عصر
protected void Button3_Click(object sender, EventArgs e)
{

DataTable dt = All_Topik();
DataTable dt2 = All_Email();
int ct = All_Topik().Rows.Count;
int ce = All_Email().Rows.Count;



for (int i = 0; i < ct; i++)
{
string msg = dt.Rows[i]["Message"].ToString();
string sub = dt.Rows[i]["Subject"].ToString();

MailMessage mail = new MailMessage();
mail.From = new MailAddress("fakhravari@yahoo.com", "جدید ترین پست های سایت", UTF8Encoding.UTF8);
mail.To.Add(dt2.Rows[0]["email"].ToString());

mail.Body = msg;
mail.Subject = sub;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;

mail.BodyEncoding = Encoding.UTF8;
mail.SubjectEncoding = Encoding.UTF8;
mail.HeadersEncoding = Encoding.UTF8;
mail.Headers.Add("Company", "FAKHRAVARY.SOMEE");
mail.Headers.Add("Location", "Iran/Bousher");
mail.Headers.Add("Tell", "09173700916");


for (int b = 1; b < ce; b++)
{
mail.Bcc.Add(dt2.Rows[b]["email"].ToString());
}

SmtpClient c = new SmtpClient("mail.a-velayat.com", 25);
c.Credentials = new NetworkCredential("fakhr@a-velayat.com", "fakhravary");
c.EnableSsl = false;
c.Send(mail);
}
}

reza4359
سه شنبه 15 فروردین 1391, 19:55 عصر
ممنونم آقای فخرآوری ولی این میلی که گذاشتم جداست و از اون سمپل شما در قسمت خبری استفاده کردم این مربوط میشه به قسمت ارتباط با ما که کاربر ایمیل رو واسه مدیریت ارسال میکنه
این کدی که گذاشتم مشکلش چیه که ارسال نمیکنه؟

reza4359
سه شنبه 15 فروردین 1391, 20:20 عصر
protected void Button3_Click(object sender, EventArgs e)
{

DataTable dt = All_Topik();
DataTable dt2 = All_Email();
int ct = All_Topik().Rows.Count;
int ce = All_Email().Rows.Count;



for (int i = 0; i < ct; i++)
{
string msg = dt.Rows[i]["Message"].ToString();
string sub = dt.Rows[i]["Subject"].ToString();

MailMessage mail = new MailMessage();
mail.From = new MailAddress("fakhravari@yahoo.com", "جدید ترین پست های سایت", UTF8Encoding.UTF8);
mail.To.Add(dt2.Rows[0]["email"].ToString());

mail.Body = msg;
mail.Subject = sub;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;

mail.BodyEncoding = Encoding.UTF8;
mail.SubjectEncoding = Encoding.UTF8;
mail.HeadersEncoding = Encoding.UTF8;
mail.Headers.Add("Company", "FAKHRAVARY.SOMEE");
mail.Headers.Add("Location", "Iran/Bousher");
mail.Headers.Add("Tell", "09173700916");


for (int b = 1; b < ce; b++)
{
mail.Bcc.Add(dt2.Rows[b]["email"].ToString());
}

SmtpClient c = new SmtpClient("mail.a-velayat.com", 25);
c.Credentials = new NetworkCredential("fakhr@a-velayat.com", "fakhravary");
c.EnableSsl = false;
c.Send(mail);
}
}
آقای فخر آوری به این خط گیر میده
mail.HeadersEncoding = Encoding.UTF8;
آیا باید از فضای نام خاصی استفاده کرد؟من فقط از
using System.Net.Mail;
استفاده کردم
به جای این SmtpClient c = new SmtpClient("mail.a-velayat.com", 25);
میشه از ip میل سرور استفاده کرد؟ به این صورت
SmtpClient c = new SmtpClient("70.38.12.120", 25);
ممنون

reza4359
سه شنبه 15 فروردین 1391, 20:42 عصر
من از کدی که گذاشتید استفاده کردم بازم نشد وقتی میرم داخل inbox چیزی دریافت نمیشه!!

reza4359
سه شنبه 15 فروردین 1391, 20:55 عصر
من به این صورت عمل میکنم که آدرس ایمیل رو در دیتابیس ذخیره میکنم و بعد ارسال میکنم
85157
مشکل از کجاست؟

fakhravari
سه شنبه 15 فروردین 1391, 21:32 عصر
اره using داره.
using System.Net.Mail;
using System.Net;
والا حتما اشتباه میکنید.
در سمپل من ادرس ایمیل خودتون بدین و بعد ارسال بزنید. میبینید که ایمیل میاد.

reza4359
سه شنبه 15 فروردین 1391, 22:04 عصر
اره using داره.
using System.Net.Mail;
using System.Net;
والا حتما اشتباه میکنید.
در سمپل من ادرس ایمیل خودتون بدین و بعد ارسال بزنید. میبینید که ایمیل میاد.
ممنونم آقای فخرآوری من از کدی که خود هاست گذاشته بود استفاده کردم و قسمت ارسال ایمیل به مدیریت با اون کدحل شد
حالا تو قسمت ارسال خبر به کاربران که از کد شما استفاده کردم اومدم کد شما رو با کد ارسال ایمیل هاست ترکیب کردمو فقط به یه مشکل تداخل بین فضای نام ها برخوردم من باید از دو فضای نام
using System.Web.Mail;
using System.Net.Mail;
استفاده کنم که این فکر کنم امکان پذیر نباشه چون ارور میده که نمیشه از این دو در کنار هم استفاده کنم شما راهی ندارید
چون وقتی از
using System.Net.Mail;
استفاده میکنم دیگه نمیتونم از این قسمت استفاده کنم
mail.Bcc.Add(dt2.Rows[b]["email"].ToString());
چون بهadd گیر میده
باید چه کار کنم؟
اینم کل کدم
string ti = dt.Rows[i]["title"].ToString();
string sub = dt.Rows[i]["link"].ToString();
string smtpServer = "mail.sd.ir";
string userName = "info@sd.ir";
string password = "pass";
int cdoBasic = 1;
int cdoSendUsingPort = 2;
MailMessage mail = new MailMessage();
if (userName.Length > 0)
{
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", smtpServer);
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 25);
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", cdoSendUsingPort);
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", cdoBasic);
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", userName);
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", password);

}


mail.Body = sub;
mail.Subject = ti;

mail.Priority = MailPriority.High;
mail.To = dt2.Rows[0]["email"].ToString() + UTF8Encoding.UTF8;
mail.From = "info@sd.ir";


mail.BodyEncoding = Encoding.UTF8;

mail.Headers.Add("Company", "sd.ir");
mail.Headers.Add("Location", "Iran/tehran");
mail.Headers.Add("Tell", "021");


for (int b = 1; b < ce; b++)
{

mail.Bcc.Add(dt2.Rows[b]["email"].ToString());

}

SmtpMail.SmtpServer = smtpServer;
SmtpMail.Send(mail);

fakhravari
سه شنبه 15 فروردین 1391, 22:12 عصر
سمپل درست کنید بهتره.