PDA

View Full Version : ارسال ایمیل



آرام جان گل
پنج شنبه 05 اردیبهشت 1387, 12:42 عصر
سلام
اولا نگید سرچ نکردی و تاپیک زدی (بعد هم تاپیک منو پاک نکنید )
من سرچ کردم و مطالب را هم خوندم ولی باز هم نیازمند کمک هستم
کد من روی دکمه ارسال


MailMessage mymail = newMailMessage();
mymail.From = newMailAddress("goolbonmastor@yahoo.com");
mymail.To.Add("z_daneshjoo_1385@yahoo.com");
mymail.Subject = "This is an email from goolbon";
mymail.Body = "this is the body content of the email.";
SmtpClient smtp = newSmtpClient("mx3.mail.yahoo.com");


smtp.Send(mymail);

و دقیقا آنچه د رconfig دارم


<configuration>
<system.net>
<mailSettings>
<smtpfrom="goolbonmastor@yahoo.com">
<networkhost="mx3.mail.yahoo.com"port ="25"defaultCredentials="true"/>
</smtp>
</mailSettings>
</system.net>
</configuration>


ببینم ما اگه بخواهیم ایمیل ارسال کنیم باید وب سرورمون یک واسطه خاص باشه؟ مثل یاهو؟
یا اینکه می تونه هر واسطه ای باشه
من فعلا می خوام از سییستم خودم ایمیل بزنم باید ip address خودم را بدم؟
یکم یکم فقط در مورد وب سرور کمک کنید
مرسی

H_T_O_A
پنج شنبه 05 اردیبهشت 1387, 13:33 عصر
خوب دیگه دیدی سرچ نکردی
ببین دوست عزیز وب سرور یه چیزه اونی که شما الان میخوای راجع بهش بدونی میل سروره اگه اشتباه نکرده باشم که اونم ربطی به یاهو نداره.
اول از همه میشه بگید شما می خوای چه کنی.
الان خطایی در کاره یا نه؟؟؟
" میخوام از سیستم خودم ایمیل بزنم" یعنی چی؟
یعنی یه سایت نوشتی که داری تستش می کنی و انتظار دارد که وقتی کانکت نیستی ایمیل بفرسته؟ اگه اینه باید بدونی که یکی گزینه‌های iis که smtp هست رو باید فعال کنید و یه سری تنظیمات داره که باس انجام بدی
یه کم واضح تر منظورتو بگی.
خطایی رخ داده یا مقاله و توضیح درباره سرورهای مجازی میخوای یا .....
یا علی

آرام جان گل
جمعه 06 اردیبهشت 1387, 15:38 عصر
سلام
خطایی رخ نداده من نمی دونم از کجا شروع کنم و چه طوری تموم کنم وچطوری تست کنم

من می خوام از روی سیستم خودم ایمیل ارسال کنم به ایمیل دوستم یعنی این که یک پروژه در ای اس پی باز می کنم و روی دکمه ای کدم را می نویسم(درسته یا نه؟) و بعد هم کانکت می شم و اجرا می گیرم
خوب من مشکلم در این قسمت است که فکر می کنم مشکل همه است


SmtpClient smtp = new SmtpClient("127.0.0.1");

این خط از کد یعنی این که من هر کجای این کره خاکی که باشم و یک ویژوال استادیو داشته باشم می تئونم ایمیل را ارسال کنم(یعنی کلاینت؟)؟ یا اینکه معنای خاصی دارد
خوب اگه معنای خاصی داره من چی باید بنویسم؟

من این دو قسمت را هم که اصل اساسیه می نویسم


MailMessage mail = new MailMessage();
mail.From = new MailAddress("MyMail@mycompany.com");
mail.To.Add("MyFriendMail@MyFriendMailcompany.com");



حالا من می خوام از توی خانه از طریق (asp.net) به دوستم میل بزنم
دقبقا منظور من اینه که می خوام از طریق آقای یاهو به دوستم ایمیل بزنم
حالا باید یوز و پسورد ایمیل خودم را هم در کد ها بنویسم؟یعنی ازطریق یوزر و پسورد من وارد ایمیل من می شه و برای دوستم ایمیل می زنه؟
اگر نه من باید چی کار کنم ؟
فعلا من هاست ندارم فقط می تونم از سیستم خودم ایمیل را ارسال کنم
در ضمن من باید تنظیمات خاصی دروب کانفیگ انجام بدهم ؟لطفا راهنمایی

مرسی ببخشید ها

H_T_O_A
جمعه 06 اردیبهشت 1387, 16:49 عصر
خوب حالا بهتر شد
اگه میخوای کد ارسال یوزر - پسورد رو بدونی اینه

smtp.Credentials = new NetworkCredential("username", "secret")
این رو اضافه کن اگه جواب نداد خبر کن. اگه خطایی پیش اومده او خطا رو بنویس تا بفهمیم چیه مشکل عزیز من

آرام جان گل
شنبه 07 اردیبهشت 1387, 10:31 صبح
سلام
من خط کد هام و ارور ها را می نویسم لطفا راهنمایی کنید

آنچه من تغییر میدم فقط خط کد زیر است:


SmtpClient smtp = new SmtpClient("mx2.mail.yahoo.com");


من اول این طوری می نویسم:
در ضمن داخل وب کانفیگ هیچی نمی نویسم


MailMessage mymail = new MailMessage();
mymail.From = new MailAddress("goolbonmastor@yahoo.com");
mymail.To.Add("z_daneshjoo_1385@yahoo.com");
mymail.Subject = "This is an email from goolbon";
mymail.Body = "this is the body content of the email.";
SmtpClient smtp = new SmtpClient("mx2.mail.yahoo.com");
smtp.Credentials = new System.Net.NetworkCredential("goolbonmastor@yahoo.com", "MyPassWord");
smtp.Send(mymail);


و این ارور را می ده:


A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond


بعد این طوری مینویسم و د روب کانفیگ هم هیچی نمی نویسم:


MailMessage mymail = new MailMessage();
mymail.From = new MailAddress("goolbonmastor@yahoo.com");
mymail.To.Add("z_daneshjoo_1385@yahoo.com");
mymail.Subject = "This is an email from goolbon";
mymail.Body = "this is the body content of the email.";
SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Credentials = new System.Net.NetworkCredential("goolbonmastor@yahoo.com", "MyPassWord");
smtp.Send(mymail);


و این ارور ار می ده:


Mailbox unavailable. The server response was: 5.7.1 Unable to relay for z_daneshjoo_1385@yahoo.com

مرسی لطفا راهنمایی کنید

آرام جان گل
شنبه 07 اردیبهشت 1387, 10:33 صبح
من smtp را نصب کردم ولی تنظماتشو نمی دونم اگه تنظیم خاصی داره بفرمایید
مرسی

آرام جان گل
شنبه 07 اردیبهشت 1387, 10:34 صبح
من smtp را نصب کردم ولی نمی دونم تنظیماتش چیه؟

twelve
شنبه 07 اردیبهشت 1387, 12:51 عصر
حالا باید یوز و پسورد ایمیل خودم را هم در کد ها بنویسم؟یعنی ازطریق یوزر و پسورد من وارد ایمیل من می شه و برای دوستم ایمیل می زنه؟

بعله!
عزیز دل انگیز نیازی نیست چیزی به وب کانفیگ اضافه کنید ، با استفاده از نمونه کد ساده زیر میتونید از طریق سرور دلخواهتون (و از توی خونه P-:) به دوستتون ایمیل ارسال کنید.
برای استفاده راحت تر میتونید این کد رو خودتون بهینش کنید.



Dim Email As New System.Net.Mail.MailMessage( _
"Mai From Address", "Mail To Address")
Email.Subject = "test subject"
Email.Body = "this is a test"
Dim mailClient As New System.Net.Mail.SmtpClient()
'This object stores the authentication values
Dim basicAuthenticationInfo As _
New System.Net.NetworkCredential("username", "password")
'Put your own, or your ISPs, mail server name onthis next line
mailClient.Host = "Mail.RemoteMailServer.com"
mailClient.UseDefaultCredentials = False
mailClient.Credentials = basicAuthenticationInfo
mailClient.Send(Email)

DotNet_King
شنبه 07 اردیبهشت 1387, 14:26 عصر
فکر می کنم مشکل از کدت نیست، مشکل از سرویس ندادن میل سروره!
میل سرورت رو با mx2 شروع کن، فکر می کنم میل سرور های مجانی دیگه یه جورایی مشکل دارند! من هم همین مشکل رو داشتم ولی الان با mx2 یاهو خوب کار می کنه! اگه زمانی هم میل سرور پولی داشتی مقاله کامل آقای خالدیان رو تو همین سایت سرچ کن. فکر کنم خیلی کامل و بدر بخوره. تنظیمات وب کانفیگ هم نیاز نیست.

آرام جان گل
شنبه 07 اردیبهشت 1387, 15:13 عصر
سلام
ممنون از همه
ولی باز هم نشد
تمام اینهایی که فرمودید همان هایی هستند که من نوشته ام ولی باز هم مشکل سر جاشه

یعنی ایراد از کجاست ؟ لطفا به ارور ها دقت کنید شاید مال اون باشه

راهنمایی باز هم

twelve
شنبه 07 اردیبهشت 1387, 15:16 عصر
اون کاری که گفتم انجامش دادی؟

آرام جان گل
شنبه 07 اردیبهشت 1387, 23:36 عصر
سلام

من تمام اون چیزهایی که همه گفته بودن امتحان کردم از همه ممنون

یعنی شما فکر می کنید که من این قدر بی اراده هستم؟؟؟؟؟ ویا این قدر بی توجه؟؟؟؟
شاید هم هستم

من تمام کد های شما و کد های دیگر اینترنت را امتحان کردم یعنی در حقیقت همش مثل هم هستند ولی من نمی دونم ایراد کارم چیه

می دونید چه اتفاقی می افتد؟
من وقتی که برنامه را با کد دوم که نوشته ام اجرا میگیرم(که نهایتا به من ارور می ده) و بعد وارد ایمیل یا هو می شوم یا هو به من می گه ....... hi goolbonmastor یعنی اینه که می تونه وارد ایمیل من بشه ولی نمی تونه به ایمیل دوستم ایمیل بزنه جالبه ها وارد ایمیل من می شه و بعد هم sing out نمی شود جالب شد این یک ایراد عظیم

خوب به نظر شما دوستان ایراد کار من ازکجاست؟

مرسی
برای هزارمین بار راهنمایی کنید

twelve
شنبه 07 اردیبهشت 1387, 23:52 عصر
بعد این طوری مینویسم و د روب کانفیگ هم هیچی نمی نویسم:


MailMessage mymail = new MailMessage();
mymail.From = new MailAddress("goolbonmastor@yahoo.com");
mymail.To.Add("z_daneshjoo_1385@yahoo.com");
mymail.Subject = "This is an email from goolbon";
mymail.Body = "this is the body content of the email.";
SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Credentials = new System.Net.NetworkCredential("goolbonmastor@yahoo.com", "MyPassWord");
smtp.Send(mymail);

و این ارور ار می ده:

این که اشتباهه.
شما به جای goolbonmastor@yahoo.com در username بنویسید goolbonmastor (goolbonmastor@yahoo.com) ، این تنها چیزی بود که به نظرم اشتباه اومد در کد ، هر چند که میگی به اکانت یاهو وارد میشه!

آرام جان گل
یک شنبه 08 اردیبهشت 1387, 11:57 صبح
سلام
ممنون

من گفته شما را انجام دادم ولی مشکل من هنوز هم هست ممنون از هر کسی که می تونه من را راهنمایی کنه
مرسی لطفا راهنمایی

raravaice
یک شنبه 08 اردیبهشت 1387, 12:39 عصر
به جای یاهو از gmail استفاده کن هم pop3 داره هم smtp کار با یاهو در این زمینه گاها شما رو به اشتباه میندازه. البته توی gmail شماره پورتها رو هم ست کنید چون ssl هست.

موفق باشید

آرام جان گل
چهارشنبه 11 اردیبهشت 1387, 12:40 عصر
سلام

فرايند ارسال ايميل من مشكلي نداره يعني ارور نمده فقط ايميل من رو داخل اين مسير از ويندوز مي ريزه



E:\Inetpub\mailroot\Drop

و در نتيجه هيچي در ميلباكس من نيست

حالا ايراد از چيه؟
مرسي راهنمايي كنيد

آرام جان گل
چهارشنبه 11 اردیبهشت 1387, 12:40 عصر
سلام

فرايند ارسال ايميل من مشكلي نداره يعني ارور نمده فقط ايميل من رو داخل اين مسير از ويندوز مي ريزه



E:\Inetpub\mailroot\Queue

و در نتيجه هيچي در ميل باكس من نيست

حالا ايراد از چيه؟
مرسي راهنمايي كنيد

آرام جان گل
چهارشنبه 11 اردیبهشت 1387, 12:41 عصر
سلام

فرايند ارسال ايميل من مشكلي نداره يعني ارور نمده فقط ايميل من رو داخل اين مسير از ويندوز مي ريزه



E:\Inetpub\mailroot\Queue

و در نتيجه هيچي در ميلباكس من نيست

حالا ايراد از چيه؟
مرسي راهنمايي كنيد

mnv_mn
یک شنبه 15 اردیبهشت 1387, 19:02 عصر
تایپیک زیر را هم یه نگاه بنداز
http://barnamenevis.org/forum/showthread.php?t=56471

TNZ187
یک شنبه 15 اردیبهشت 1387, 20:16 عصر
سلام
من همه پست های این مقاله را خواندم . خیلی جالب بود . به جابی یک بازی . :چشمک:
یک اشتباه کوچک وجود داره .

MailMessage mymail = new MailMessage();
mymail.From = new MailAddress("goolbonmastor@yahoo.com");
mymail.To.Add("z_daneshjoo_1385@yahoo.com");
mymail.Subject = "This is an email from goolbon";
mymail.Body = "this is the body content of the email.";
SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Credentials = new System.Net.NetworkCredential("goolbonmastor@yahoo.com", "MyPassWord");
smtp.Send(mymail);
شما چرا از 127.0.0.1 استفاده می فرمائید ولی بازهم دارید پسورد و یوزر می دهید ؟
این قسمت از کد زیادی هستش .

smtp.Credentials = new System.Net.NetworkCredential("goolbonmastor@yahoo.com", "MyPassWord");
smtp.Send(mymail);

در سرور ایمیل ویندوز یک تنظیم هستش که فکر کنم انجام نداده اید و مشکل از همون باشه .
برید توی IIS . روی Default SMTP Virtual server راست کلیک کنید و Properties بگیرید
بعد از تب Access در قسمت Connection و Relay ( اول روی اون ها کلیک کنید تا پنجره مربوطه باز بشه بعد ) گزینه All except list below را انتخاب بفرمائید . بعد دوباره امتحان کنید ، فکر کنم درست می شه .

آرام جان گل
دوشنبه 16 اردیبهشت 1387, 10:38 صبح
سلام
ممنون از راهنماييتون
من انچه را گفته بوديد انجام دادم ولي باز هم در همان مسير ريخت

E:\Inetpub\mailroot\Queue

آيا بايد در همان قسمت هاي Connection و Relay چيزي را Add كنم ؟
آيا واقعا مي تونم بدون آپلود كردن و رو ي سيستم خودم ايميل را ارسال كنم و بعد اين ايميل را در باكس ميل ببينم؟

اصلا چرا در اين مسير (E:\Inetpub\mailroot\Queue) مي ريزد
مرسي راهنمايي كنيد

raravaice
دوشنبه 16 اردیبهشت 1387, 11:27 صبح
سلام

دوست عزیز شما داری از local smtp استفاده میکنی و با ایمیل یاهو اهراز هویت میکنی این کار بی معنی هست.و جای هیچ شکی نیست برنامه شما کار خودش رو داره صحیح انجام میده.

برای ارسال ایمیل باید از یک smtp استفاده کنی که توی اون اکانت داشته باشی برای این مورد به جای 127.0.0.1 باید از یکی از آدرس های smtp یاهو استفاده کنی که همونطور هم که اشاره کردم بهتر از gmail استفاده کنی که توی این مورد سرویس safe تری داره.

ولی اگر میخوای روی local میل سرور داشته باشی بهتره که از یه میل سرور کامل استفاده کنی (البته من خودم تا به حال با Default SMTP Virtual server کار نکردم )
ترجیحا پیشنهاد میدم از imail استفاده کنید که ورژن 10 اونم ظاهرا موجود هست.ه شما میتونید روی local و حتی شبکه محلی ارسال و دریافت ایمیل داشته باشید.

موفق باشید

mnv_mn
دوشنبه 16 اردیبهشت 1387, 11:39 صبح
یه ایمیل تو google باز کن و کد زیر را بنویس :


Dim mail As New MailMessage
mail.From = New MailAddress("any_one@gmail.com")
mail.To.Add(New MailAddress("any_body@yahoo.com"))
mail.Subject = "first mail"
mail.Body = "salam "
Dim smtp As New SmtpClient("smtp.gmail.com")
smtp.EnableSsl = True
smtp.UseDefaultCredentials = False
smtp.Credentials = New NetworkCredential("any_one@gmail.com", "password")
smtp.Send(mail)


در ضمن یادت نرود که فایلهای زیر را هم import کنی


Imports System.net.Mail
Imports System.Net

آرام جان گل
دوشنبه 16 اردیبهشت 1387, 16:51 عصر
سلام
من واقعا مي خوام ايميل را بفرستم پس خواهش مي كنم راهنمايي كنيد
مرسي

1-اگر من بخوام اين كد را بنويسم وبخوام واقعا از روي كلاينت ايميل بزنم بايد به جاي 127.0.0.1 چي بنويسم؟ منظورتون از Smtp گوگل چيه ؟ من نمي دونم لطفا بگيد چيه؟
كد من


string From = TextBox_From.Text;
string[] From_Array = newstring[2];
string To = TextBox_To.Text;
string[] To_Array = newstring[2];
From_Array = (this.TextBox_From.Text).Split('@');
To_Array = (this.TextBox_To.Text).Split('@');

if (From_Array.Length >1 && To_Array.Length > 1)
{
this.Panel_Message.Visible = true;
this.Panel_Notis.Visible = false;
From_Array = From.Split('@');
From = From_Array[0];

To_Array = To.Split('@');
To = To_Array[0];
MailAddress from = new MailAddress(TextBox_From.Text, "::" + From + " ::");
MailAddress to = new MailAddress(TextBox_To.Text, "::" + To + "::");
MailMessage message = new MailMessage(from, to);
message.Subject = TextBox_Subject.Text;
message.Body = TextBox_Message.Text;
try
{
SmtpClient client = new SmtpClient("127.0.0.1");
client.Send(message);
}
catch (Exception ex)
{
Response.Write("\n");
Response.Write(ex.Message);
Response.Write("\n");
Response.Write("An error occured while sending messages...");
}
this.TextBox_From.Text = "";
this.TextBox_Message.Text = "";
this.TextBox_Subject.Text = "";
this.TextBox_To.Text = "";
}
else
{
this.Panel_Message.Visible = false;
this.Panel_Notis.Visible = true;
}


2-آيا براي استفاده از smtp مربوط بهIIs روي سيستمم بايد تنظيمات خاصي انجام دهم؟
خواهش مي كنم اگر مي دونيد كامل توضيح دهيد من كارم با يكم توضيح حل نميشه

3- اگر بخوام از smtpگوگل استفاده كنم يعني نمي تونم به ايميل هاي ياهو ايميل بزنم؟

4- اگر بخوام از smtp ياهو استفاده كنم چي بايد بنويسم و آيا ديگر نمي توانم به ايميل هاي گوگل ايميل بزنم؟

5- لطفا اين تنظيمات smtpروي iis را توضيح دهيد

ممنون مرسي

آرام جان گل
دوشنبه 16 اردیبهشت 1387, 17:13 عصر
سلام
اگر كد ها ايرادي نداره لطفا تنظيمات smtp رابگيد
مرسي

mnv_mn
دوشنبه 16 اردیبهشت 1387, 22:14 عصر
من هم نتوانستم از طریق کامپیوتر خودم و localhost خودم ایمیلی را ارسال کنم و همچنین smtp ، yahoo را هم امتحان کردم ولی جوابی نگرفتم اما از smtp google جواب گرفتم تو همانطور که گفتم یه ایمیل در google باز کن و از طریق ایمیلت در gmail یه ایمیلی در yahoo ایمیل بفرست و کدی که قبلا" گفتم را امتحان کن یعنی به جای خط زیر

SmtpClient client = new SmtpClient("127.0.0.1");
client.Send(message);
این کد را بنویس


SmtpClient client = new SmtpClient("smtp.gmail.com");
client.EnableSsl = True
client.UseDefaultCredentials = False
client.Credentials = New NetworkCredential("any_one@gmail.com", "password")
client.Send(message);

و به جای password هم password ایمیلت در google را بنویس

آرام جان گل
سه شنبه 17 اردیبهشت 1387, 16:58 عصر
سلام
لطفا به من بگيد دقيقا دقيقا دقيقا به جاي


SmtpClient smtp = new SmtpClient("127.0.0.1");


چي بنويسم؟ يعني اين كه smtp google چي هستن؟

ودقيقا دقيقا تنظيمات smtp چيه؟ اين تنظيمات را يكي بگه ديگه

مرسي