0 امتیاز
با سلام
میخوام برنامه ای رو بنویسم که چندتا سوال در کنسول مینویسم
کاربر استفاده کننده که به اونا جواب میده میخوام جواب سوال هاش بدونه این که خودش بفهمه برام ایمیل بشه.(با ایمیل خودش)
بسته شده
سلام، یه کم سوالتون گنگه، میشه بیشتر توضیح بدین؟
توسط (3,483 امتیاز) 6 13 87

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

سلام ، اره می تونید مشکلی نداره . دقیقا کجاش مشکل دارید . شما با استفاده از دستورات Console.ReadLine جواب ها رو از کاربر می گیرید و با استفاده از کلاس هایی که برای ارسال ایمیل درست شده ، جواب ها رو به ایمیل خودتون ارسال می کنید 

ارسال ایمیل از طریق سی شارپ

من میخوام جواب هایی که میگیره رو به صورت مخفیانه برام ایمیل کنه.

مثلا اول ایمیل و پسورد رو بپرسم بعدش سوال هارو ازش بپرسم بعدش که به سوالا جواب داد ، جواب سوالاش برام ایمیل بشه
توسط (195 امتیاز) 1 7 26
سلام ، برای ارسال ایمیل به شخص مورد نظر فقط نیاز هست که ادرس ایمیلشون رو داشته باشید نه هم ایمیل و پسورد .

بعید می دونم کسی حاضر باشه که ایمیل . پسوردش رو در برنامه ای که اطمینان خاطر نداره وارد کنه !

شما هم برای ارسال جواب به ایمیل خودتون نیازی به دانستن رمز عبور او ندارید
توسط (6,145 امتیاز) 5 11 116
خب میشه حالا کمکم کنید این برنامه رو بنویسم؟
فقط چند تا سوال که ورودی هاش رو برام ایمیل کنه
توسط (195 امتیاز) 1 7 26

اگر به اون پستی که لینکش رو براتون قرار دادم دقت می کردید راحت متوجه می شدید . برای ارسال جواب ها شما باید ورودی رو از کاربر بگیرید و در یک متغیر قرار بدین . ورودی ها رو هم از طریق console.readline میگرید . بعد از اینکه تمام جواب ها رو در یک رشته قرار دادین. متغیر نهایی رو در خاصیت Body در کد زیر قرار می دین : 

private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                MailMessage mail = new MailMessage();
                SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

                //نام فرستنده
                mail.From = new MailAddress("no-replay@nobody.com");
                //آدرس گیرنده یا گیرندگان
                mail.To.Add("younes_ebrahimi_1391@yahoo.com");
                //عنوان ایمیل
                mail.Subject = "Test Mail";
                //بدنه ایمیل
                mail.Body = "This is for testing SMTP mail from GMAIL";
                //مشخص کرن پورت 
                SmtpServer.Port = 587;
                //username : به جای این کلمه نام کاربری ایمیل خود را قرار دهید
                //password : به جای این کلمه رمز عبور ایمیل خود را قرار دهید
                SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password");
                SmtpServer.EnableSsl = true;

                SmtpServer.Send(mail);
                MessageBox.Show("mail Send");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

فقط باید ادرس ایمیل خودتون و password رو هم در کد های بالا ست کنید ( در جای که نوشته username و password ) . البته به این نکته توجه کنید که با توجه به اینکه می تونن به راحتی سورس برنامه رو از طریق فایل اجرایی بدست بیارن ، به همین راحتی هم می تونن username و password شما رو از طریق سورس بخونن . 

البته اگر این برنامه آزمایشی هست و برای خودتون می نویسید مشکلی نداره . 

 

توسط (6,145 امتیاز) 5 11 116
این که داخل ویندوز فرم هستش

من میخوام داخل کنسول باشه
توسط (195 امتیاز) 1 7 26

دوست خوبم ، وی کد ویندوز با Console "فرقی نمی کنه" . شما همون کد رو تست کنید ببینید چه خطایی میده

توسط (6,145 امتیاز) 5 11 116
SmtpServer.Send(mail);

این خط مشکل داره

توسط (195 امتیاز) 1 7 26
در داخل عکس که شما Password رو به صورت ******* نوشتید ؟ اگر به خاطر عکس هست که مشکلی نیست ولی اگر اشتباه کردید اصلاح کنید .

متن خط اصلا مشخص نیست .
توسط (6,145 امتیاز) 5 11 116

نه

پسورد رو من درست زدم

وقتی خواستم عکس بگیرم پسورد رو ****** گذاشتم

حالا فرضاً پسورد 123456789 باشه

مهم اینه که ایمیل نمیفرسته

try
            {
                MailMessage mail = new MailMessage();
                SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

                //نام فرستنده
                Console.WriteLine(" Your Email = ");
                mail.From = new MailAddress(Console.ReadLine());
                //آدرس گیرنده یا گیرندگان
                mail.To.Add("djarash33@gmail.com");
                //عنوان ایمیل
                mail.Subject = "Arash";
                //بدنه ایمیل
                mail.Body = "This is for testing SMTP mail from GMAIL";
                //مشخص کرن پورت 
                SmtpServer.Port = 587;
                //username : به جای این کلمه نام کاربری ایمیل خود را قرار دهید
                //password : به جای این کلمه رمز عبور ایمیل خود را قرار دهید
                SmtpServer.Credentials = new System.Net.NetworkCredential("djarash33@gmail.com", "********");
                SmtpServer.EnableSsl = true;

                SmtpServer.Send(mail);
                Console.WriteLine("mail Send");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            Console.ReadLine();

 

ویرایش شده توسط
توسط (195 امتیاز) 1 7 26
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...