PDA

View Full Version : مشکل با عدم نمایش عکس در ایمیل ارسالی



احمد سامعی
چهارشنبه 10 آبان 1391, 17:51 عصر
سلام

من از داخل برنامه سایت یک ایمیل ارسال می کنم و مقدار IsBodyHtml برابر true گذاشتم برای نمایش عکس هم در بخش body ایمیل از کد زیر استفاده کردم اما وقتی ایمیل ارسال می شه همه چیز درست نشون داده میشه اما عکس نمایش داده نمی شه چی کار باید بکنم؟


<img scr='http://myhost.com/img.jpg' />

آیا باید پیوست کنم ؟ چطوری؟

fakhravari
چهارشنبه 10 آبان 1391, 18:12 عصر
سلام

من از داخل برنامه سایت یک ایمیل ارسال می کنم و مقدار IsBodyHtml برابر true گذاشتم برای نمایش عکس هم در بخش body ایمیل از کد زیر استفاده کردم اما وقتی ایمیل ارسال می شه همه چیز درست نشون داده میشه اما عکس نمایش داده نمی شه چی کار باید بکنم؟


<img scr='http://myhost.com/img.jpg' />

آیا باید پیوست کنم ؟ چطوری؟

اکثرا یک باتن باید باشه برای show image در ایمیل

saeed_sho
چهارشنبه 10 آبان 1391, 18:43 عصر
اکثرا یک باتن باید باشه برای show image در ایمیل
آقای فخرآوری اگه میشه لطفا یکم بیشتر توضیح بدین

fakhravari
چهارشنبه 10 آبان 1391, 20:12 عصر
سایت های گوگل و یاهو اگر دقت کرده باشید ایمیلی که عکس داشته باشه یک گزینه داره show image که با زدن اون ایمیل عکساش باز میشه.
اگر با css در قالب div بتونید بفرستید مثل یک صفحه ساده میتونید ببنید.

احمد سامعی
پنج شنبه 11 آبان 1391, 08:30 صبح
ممنون اما اینقدر هم کار با ایمیل بلدم
مشکل این که اصلاً در تگ ایمج آدرس عکس ایمیل شناسایی نمی کنه و وقتی پراپرتیز از عکس می گیرم Not Available میده
عکس پیوستی نگاه کنید!

AmirGhasemi
پنج شنبه 11 آبان 1391, 09:46 صبح
سلام دوستان
من هم خيلي وقته با اين مشكل مواجه هستم
فقط يك سوال؟ جناب احمدآقاي سامعي
شما چك كن ببين غير عكس، بدنه HTML‌را مي فرسته يا نه! مثلا يك لينك
چون من هم با فرستادن عكس و هم بدنه HTML مشكل دارم

احمد سامعی
پنج شنبه 11 آبان 1391, 11:17 صبح
آره با اون بخش مشکل ندارم شما باید کد زیر رو داشته باشی تا بدنه به صورت html ارسال بشه

MailMessage result = new MailMessage();
result.IsBodyHtml = true

احمد سامعی
دوشنبه 15 آبان 1391, 11:50 صبح
سلام دوستان جواب پیدا کردم نباید از پیوست استفاده می کردم باید کل بدنه و عکس ها رو در AlternateView قرار بدی

برای ارجاع به عکس‌هایی که به صورت منابع لینک شده (linked resources) ضمیمه شده اند ، از ” cid:contentID” در درون تگ <img> استفاده می‌نماییم.سپس دقیقا همان نام را برای خصوصیت ContentID آبجکت LinkedResource بکار می‌بریم(LinkedResource.ContentID).در مثال زیر محتوای HTML ایمیل شامل تگی با محتوای <img src=\”cid:companylogo\”> است و LinkedResource.ContentID نیز بر روی ” companylogo″ تنظیم شده است.هر آبجکت LinkedResource باید دارای ContentID منحصر بفرد باشد.

MailMessage mail = new MailMessage();

mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");

mail.Subject = "This is an email";

AlternateView plainView =
AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable by those clients that don't support html", null, "text/plain");

AlternateView htmlView =
AlternateView.CreateAlternateViewFromString("Here is an embedded image.<img src=cid:companylogo>", null,"text/html");

LinkedResource logo = new LinkedResource( "c:\\temp\\logo.gif" );
logo.ContentId = "companylogo";
htmlView.LinkedResources.Add(logo);

mail.AlternateViews.Add(plainView);
mail.AlternateViews.Add(htmlView);


SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Send(mail);

fakhravari
دوشنبه 15 آبان 1391, 12:08 عصر
عزیز دل باید از ادرس های مسقیم استفاده کنید.
عکس
فایل
هر چی
ادرس اپلود شدشو باید بزاری

احمد سامعی
پنج شنبه 18 آبان 1391, 11:45 صبح
هیچ راهی جز همین که من گفتم نداره