مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mrpeach

عضویت از 1394/04/13

ارسال ایمیل

  • پنجشنبه 23 شهریور 1396
  • 19:23
تشکر میکنم

با سلام 

من داخل پروژه ام از سیستم ارسال ایمیل خود mvc استفاده کردم قبلا فقط یک متن ساده داخل ایمیل بود و به راحتی ایمیل ارسال میشد اما الان از فالب ایمیل استفاده کردم اما ایمیل من وقتی میرسه به دستم کاملا خالی هستش

اینم کدم هستش

MailMessage mail = new MailMessage();
            mail.From = new MailAddress("email");
            mail.To.Add(message.Destination);


            string body;
            body = "<!DOCTYPE html><html><head><meta http - equiv = 'Content-Type' content='text/html; charset=UTF-8' /><title>xsharp.org</title><meta name ='viewport' content = 'width=device-width, initial-scale=1.0' /><link href = 'http://fonts.googleapis.com/css?family=Droid+Arabic+Kufi:400,600' rel = 'stylesheet' type = 'text/css'><style type = 'text/css>.main_container{width: 850px;height: 100 %;background: #ffffff;overflow: hidden;margin: 100px auto 0 auto;box - shadow: 0 0 7px #cdcccc;direction:rtl;}html{width: 100 %;}body{width: 100 %;margin: 0;padding: 0;-webkit-font-smoothing: antialiased;mso-margin-top-alt:0px;mso-margin-bottom - alt:0px;mso-padding-alt: 0px 0px 0px 0px;background: #E7E7E7;}p,h1,h2,h3,h4{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;}table{font-size: 14px;border: 0;}img{border: none!important;}</style></head>";
            body += "<body style='margin: 0; padding: 0;'><div class='main_container'><table border='0' cellpadding='0' cellspacing='0' width='100%' bgcolor='#f98550' background='img/hero_gradient.jpg' style='height:450px; background-image: url(' img=img/hero_gradient.jpg'); background-size: cover; -webkit-background-size: cover; -moz-background-size: cover -o-background-size: cover; background-position: 50% 50%; background-repeat: no-repeat;'><tr><td><table width='600' cellpadding='0' cellspacing='0' align='center' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr><td width='100%' height='40'></td></tr><tr><td><table border='0' align='left' cellpadding='0' cellspacing='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr><td><a href='http://www.xsharp.org'><img src='http://www.xsharp.org/Email/logo.png' alt='xsharp.org' /></a></td></tr></tbody></table></td></tr><tr><td height='169'></td></tr>";
            body += $"<tr><td style='text-align:center; color: #fff; font-weight:600; font-size: 36px; text-transform:uppercase; letter-spacing:3px;'>{Resource.AdvertiseText}</td></tr><tr><td height='133'></td></tr><tr><td><table width='24' align='center' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tr><td><img width='24' height='63' src='img/mouse.png' alt='Scroll Down' border='0' style='display:block;' /></td></tr></table></td></tr></tbody></table></td></tr></table><table width='100%' cellpadding='0' cellspacing='0' border='0' bgcolor='#f9f9f9' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'> <tbody><tr><td><table width='600' align='center' border='0' cellpadding='0' cellspacing='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr><td width='100%' height='100'></td></tr><tr><td><table width='44' align='center' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tr><td><img width='44' height='64' src='img/quotes.png' alt='' border='0' style='display:block;' /></td></tr></table></td></tr><tr><td width='100%' height='20'></td></tr><tr>";
            body += $"<td align='center' style='color: #8a8a8a;'>{message.Body}</td></tr><tr><td width='100%' height='100'></td></tr></tbody></table></td></tr></tbody></table>";
            body += "<table width='600' align='center' cellpadding='0' cellspacing='0' border='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr><td width='100%' height='100'></td></tr><tr><td><table width='390' align='left' cellpadding='0' cellspacing='0' border='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr><td><table width='180' align='left' cellpadding='0' cellspacing='0' border='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr><td align='center'><img src='http://www.xsharp.org/Images/upload.png' border='0' style='display: block;height:150px;width:150px;' /></td></tr><tr><td width='100%' height='40'></td></tr><tr><td align='center'>{Resourse.Upload}</td></tr><tr><td width='100%' height='30'></td></tr></tbody></table><table width='180' align='right' cellpadding='0' cellspacing='0' border='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody>";
            body += $"<tr><td align='center'><img src='http://www.xsharp.org/Images/permission.png' border='0' style='display: block;height:150px;width:150px;' /></td></tr><tr><td width='100%' height='40'></td></tr><tr><td align='center' style='color: #545454;'>{Resource.Permission}</td></tr><tr><td width='100%' height='30'></td></tr></tbody></table></td></tr></tbody></table><table width='180' align='right' border='0' cellpadding='0' cellspacing='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr><td align='center'><img src='http://www.xsharp.org/Images/download.png' border='0' style='display: block;height:150px;width:150px;' /></td> </tr><tr><td width='100%' height='40'></td></tr><tr><td align='center' style='color: #545454;'>{Resource.Download}</td> </tr><tr><td width='100%' height='30'></td></tr></tbody></table></td></tr><tr><td width='100%' height='100'></td></tr></tbody></table><table width='100%' bgcolor='#f9823a' cellpadding='0' border='0' cellspacing='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr>";
            body += "<td><table width='600' align='center' cellpadding='0' border='0' cellspacing='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr><td width='100%' height='40px'></td></tr><tr><td><table align='left' cellpadding='0' border='0' cellspacing='0' style='border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;'><tbody><tr><td><center>{Resource.DesignedBy}</center></td></tr></tbody></table></td></tr><tr><td width='100%' height='40px'></td></tr></tbody></table></td></tr></tbody></table></div></body></html>";

            mail.Body = body;
            mail.Subject = message.Subject;
            mail.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient("mail.site.com");
            NetworkCredential credential = new NetworkCredential("email", "password");
            smtp.Credentials = credential;
            smtp.Send(mail);

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • پنجشنبه 23 شهریور 1396
  • 22:06

این کاری که شما کردید باعث ایجاد n تا object string(عملکر برنامه شما را کاهش می دهد) می شود ، و کد بد بوییی را تولید می کند و ناصحیح است. وعلت خالی بودن ایمیل را  اشتباه مقدار دهی کردن می دانم.

روش پیشنهادی: یک فایل html در مسیر پروژه ایجاد کنید و کد های قالب را درون آن قرار دهید، هنگام ارسال ایمیل محتوای قاب را از طریق کلاس File بخوانید و درون Body قرار بدید.

شی string تغیر ناپذیر(immutable) می باشد و زمانی که شما آن را تغییر می دهید یک نمونه جدید از آن ایجاد می شود این کار باعث اشغال حافظه و در نتیجه کاهش کاراییی (Performace) می شود. برای حل این مشکل از StringBuilder استفاده کنید.

کاربر سایت

mrpeach

عضویت از 1394/04/13

  • پنجشنبه 23 شهریور 1396
  • 22:37
قبل از این کد من با استرینگ بیلدربرگ امتحان کردم حتی برک پوینت هٔ گذاشتم و تست کردم پیام من خالی نیست و محتوای کد اچ تی ام ال داره اما وقتی ارسال میشه درون ایمیل یک ایمیلم املا خالی دیده میشه
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 24 شهریور 1396
  • 08:11

شما یک پارشیال ویو بسازید و در اون بدنه ایمیل را کامل کنید و سس تبدیل به Html کنید و ارسال کنید

اینطوری مدیریتش خیلی ساده تر هست و اگر مشکلی داشته باشه ساده پیدا میشه

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)