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

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

ارسال ایمیل

پنج شنبه, 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);

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

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

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

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

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

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

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

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید