C# ile Mail Gö...
 
Bildirimler
Hepsini Temizle

[Çözüldü] C# ile Mail Gövdesine Resim Yerleştirme  

  RSS
Servet Atasoy
(@ServetAtasoy)
Üye

Herkese Selamlar,

Normail mail ve attachtment mail olarak gönderim de bir sorun yok. Yanlız E-Bülten niteliğinde mailin gövdesine resim yerleştirmek istiyorum. Küçük bir ayrıntı var. Gövdeye yerleştirmek istediğim resmi eğer herhangi bir hosttan link vererek yerleştirdiğimde sorun yok. Ben localden eklenen resmin gövdeye yerleşmesini istiyorum.

Kodlar aşağıdaki gibidir.

MailMessage

mesaj = new MailMessage();

 

mesaj.From =

new MailAddress("it@deneme.com.tr", "Ross Pharma E-Bülten", System.Text.Encoding.UTF8);

SmtpClient smtp = new SmtpClient();

mesaj.To.Add(

"xx@deneme.com.tr");

 

mesaj.Subject =

"Deneme";

mesaj.Body =

@"<html><body><a href='www.rosspharma.com.tr'><img src='C:\deneme.jpg'></a></body></html>";

 

 

mesaj.IsBodyHtml =

true;

smtp.Credentials =

new System.Net.NetworkCredential("it@deneme.com.tr", "şifre");

 

smtp.Port = 587;

smtp.Host =

"mail.deneme.com.tr";

 

smtp.Send(mesaj);

Teşekkürler.

Alıntı
Gönderildi : 12/03/2013 15:22
Servet Atasoy
(@ServetAtasoy)
Üye

Sorun çözülmüştür. İleride birilerinin işine yaraması amacıyla gerekli kodları ekliyorum.

mesaj.body kodunu silip aşağıdaki kodları araya eklediğiniz takdirde istenileni veriyor.

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:\Users\Administrator\Desktop\DSC_0015.jpg");

 

logo.ContentId =

"companylogo";

htmlView.LinkedResources.Add(logo);

mesaj.AlternateViews.Add(plainView);

mesaj.AlternateViews.Add(htmlView);

CevapAlıntı
Gönderildi : 12/03/2013 15:42
 Anonim

hocam bunları nereye yazacağız. kodların tamamını gönderirseniz seviniriz. Bende bankaların gönderdiği gibi email göndermek istiyorum. Olmadı bir türlü

CevapAlıntı
Gönderildi : 12/03/2013 19:02
Servet Atasoy
(@ServetAtasoy)
Üye

try

{

MailMessage mesaj = new MailMessage();//mail nesnesi

 

mesaj.From =

new MailAddress("gönderilecek adres", "Başlık", System.Text.Encoding.UTF8);

SmtpClient smtp = new SmtpClient();

//mesaj.To.Add("alıcı adresi");

 

 

mesaj.Subject =

"Mail başlığı";

AlternateView plainView = AlternateView.CreateAlternateViewFromString("alternate", null, "text/plain");

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

LinkedResource logo = new LinkedResource("mail gövdesine eklenecek resim yolu");

logo.ContentId =

"companylogo";

htmlView.LinkedResources.Add(logo);

mesaj.AlternateViews.Add(plainView);

mesaj.AlternateViews.Add(htmlView);

mesaj.IsBodyHtml =

true;

smtp.Credentials =

new System.Net.NetworkCredential("gönderilecek mail adresi", "şifre");//kullanici adi ve sifre sicili

 

smtp.Port = 587;

smtp.Host =

"smtp sunucusu";

smtp.Send(mesaj);

}

catch (Exception ex)

{

MessageBox.Show("HATA! Gönderilemedi!");

}

butonun click olayına bu kodları ekleyip, gerekli alanları kendine göre doldurman yeterli olacaktır.

CevapAlıntı
Gönderildi : 12/03/2013 19:25
 Anonim

sadece resim mi ekliyoruz. resim ile birlikte yazı da eklemek isityoruz. ne yapabiliriz

CevapAlıntı
Gönderildi : 13/03/2013 00:23
Davut EREN
(@davuteren)
Üye

bu şekilde resim sizin local bilgisayarınızda kalır. karşıdaki kişi de resimler görüntülenemiyor olarak gözükür.

CevapAlıntı
Gönderildi : 13/03/2013 00:52
Servet Atasoy
(@ServetAtasoy)
Üye

[quote user="Davut EREN"]bu şekilde resim sizin local bilgisayarınızda kalır. karşıdaki kişi de resimler görüntülenemiyor olarak gözükür.
[/quote]

 

Davut bey,

 

Evet resmi localden alıyor fakat giden kullanıcıda gözükmeme gibi bir durum olmuyor. Bizzat test ettim. Outlook'a localden resim ekleyip mail göndermek gibi düşünülebilir.

 

bilgilerinize. 

CevapAlıntı
Gönderildi : 14/03/2013 01:04
Servet Atasoy
(@ServetAtasoy)
Üye

[quote user="kamil karşal"]sadece resim mi ekliyoruz. resim ile birlikte yazı da eklemek isityoruz. ne yapabiliriz[/quote]

 

mesaj.body = "eklemek istediğiniz metin"; 

CevapAlıntı
Gönderildi : 14/03/2013 01:08
Talip Yıldız
(@TalipYildiz)
Üye

iyi ki eklemişsin hocam teşekkürler 🙂

CevapAlıntı
Gönderildi : 10/08/2018 12:42
Volkan Yıldırım
(@VolkanYildirim)
Üye

[quote user="Servet Atasoy"]

try

{

MailMessage mesaj = new MailMessage();//mail nesnesi

 

mesaj.From =

new MailAddress("gönderilecek adres", "Başlık", System.Text.Encoding.UTF8);

SmtpClient smtp = new SmtpClient();

//mesaj.To.Add("alıcı adresi");

 

mesaj.Subject =

"Mail başlığı";

AlternateView plainView = AlternateView.CreateAlternateViewFromString("alternate", null, "text/plain");

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

LinkedResource logo = new LinkedResource("mail gövdesine eklenecek resim yolu");

logo.ContentId =

"companylogo";

htmlView.LinkedResources.Add(logo);

mesaj.AlternateViews.Add(plainView);

mesaj.AlternateViews.Add(htmlView);

mesaj.IsBodyHtml =

true;

smtp.Credentials =

new System.Net.NetworkCredential("gönderilecek mail adresi", "şifre");//kullanici adi ve sifre sicili

 

smtp.Port = 587;

smtp.Host =

"smtp sunucusu";

smtp.Send(mesaj);

}

catch (Exception ex)

{

MessageBox.Show("HATA! Gönderilemedi!");

}

butonun click olayına bu kodları ekleyip, gerekli alanları kendine göre doldurman yeterli olacaktır.

[/quote]

 

hocam gerekli alanları doldurup maili yolladığımda sadece mailde resim gözüküyor fakat

mesaj.Body="deneme";

yazdığımda body deki mesaj gözükmüyo yardım ederseniz sevinirim çok mutlu olurum teşekkürler

CevapAlıntı
Gönderildi : 05/11/2018 20:04
Yusuf CEYLAN
(@YusufCEYLAN)
Üye

@VolkanYildirim

konuya sonradan bakanlar için bilgi amaçlı yazmak istiyorum.

mesaj.Body kısmını burada kullanmanıza gerek yok. Çünkü htmlView adında bir görüntü oluşturuluyor bu yöntem ile.

Yani mailde görüntülenmesini istediğiniz mesajı htmlView'in içine HTML kodları ile eklemeniz gerekiyor.

Buradaki kısma örnek;

 AlternateView htmlView = AlternateView.CreateAlternateViewFromString("<img src=cid:companylogo><p>Mail içeriği buraya yazılabilir.</p>",null, "text/html");

CevapAlıntı
Gönderildi : 11/04/2020 00:41
Paylaş: