SMTP mail not displaying the image - c#

I am new to web api ,Here I am sending mail using SMTP service .
In this I need to send images I mean I need to display the image along with the mail contents.
But in my case contents are properly displaying but the image is not .
The data of image URL is : http://192.168.168.62:8087/Images/Product/My_Cart/axe_brand_1.jpg
When I inspect the image in the mail box it shows as follows:
<img data-imagetype="External" src="/actions/ei?u=http%3A%2F%2F192.168.168.62%3A8087%2FImages%2FProduct%2FMy_Cart%2Faxe_brand_1.jpg&d=2019-01-02T05%3A52%3A02.212Z" originalsrc="http://192.168.168.62:8087/Images/Product/My_Cart/axe_brand_1.jpg" data-connectorsauthtoken="1" data-imageproxyendpoint="/actions/ei" data-imageproxyid="">
I have tried many ways to solve this I can't .Can anyone help me to solve this .
Update :
c#:
foreach (DataRow Row in dt.Tables[0].Rows)
{
LinkedResource res = new LinkedResource(Row["ITEM_IMAGE"].ToString());
res.ContentId = Guid.NewGuid().ToString();
string htmlBody = #"<img src='cid:" + res.ContentId + #"'/>";
tableRows.AppendFormat(mailBodyTemplate, htmlBody, Row["ITEM_NAME"], Row["ITEM_UOM"], Row["QUANTITY"], Row["ITEM_PRICE_WITH_GST"], Row["TOTAL_AMOUNT_WITH_GST"]);
}
var mailBody = string.Format(PurchaseSummary, tableRows.ToString(), totalPrice);
Template :
<tr>
<td align="center"><img src="{0}" /></td>
<td>
<table style="width:100%;margin-left:15px">
<tr>
<td align="right" style="width:50%">Product Name :</td>
<td align="left" style="color:#32CD32;font-weight:bold;width:50%">{1}</td>
</tr>
<tr>
<td align="right" style="width:50%">Product UOM :</td>
<td align="left" style="color:#696969;font-weight:bold;width:50%">{2}</td>
</tr>
<tr>
<td align="right" style="width:50%">Quantity :</td>
<td align="left" style="color:#778899;font-weight:bold;width:50%">{3}</td>
</tr>
<tr>
<td align="right" style="width:50%">Unit Price :</td>
<td align="left" style="color:#483D8B;font-weight:bold;width:50%">{4}
<td>
</tr>
</table>
</td>
<td align="center" style="font-size:20px;font-weight:bold;color:#1E90FF">{5}</td>
</tr>
still it's not displaying the image .
While inspecting the image I got as follows..
<img data-imagetype="External" src="/actions/ei?u=http%3A%2F%2F192.168.168.62%3A8087%2FImages%2FProduct%2FMy_Cart%2Faxe_brand_1.jpg&d=2019-01-02T09%3A41%3A12.195Z" originalsrc="http://192.168.168.62:8087/Images/Product/My_Cart/axe_brand_1.jpg" data-connectorsauthtoken="1" data-imageproxyendpoint="/actions/ei" data-imageproxyid="">

Related

c# get element from HTML

How can I get text from HTML code like this:
<tr class="tabelaZbiorczaAltRow"><td nowrap="">
<a href='javascript:danePobierzPelnyRaport("890002604","DaneRaportPrawnaPubl", 0);'>890002604</a>
</td><td nowrap="">P</td>
<td>GAZA A.A.GĄSIEWICZ SPÓŁKA JAWNA</td>
<td nowrap="">DOLNOŚLĄSKIE</td>
<td nowrap="">kłodzki</td>
<td nowrap="">Duszniki-Zdrój</td>
<td nowrap="">57-340</td>
<td nowrap="">Duszniki-Zdrój</td>
<td nowrap="">ul. Willowa 1</td>
<td nowrap="">----------</td>
</tr>
I need all texts in td nowrap tags I have to distinguish each of them.
It may help you
public static string StripHTML(string input)
{
return Regex.Replace(input, "<.*?>", String.Empty);
}

Html Agility Pack c#

I want to extract the number of items in stock (td5) from every product,
and having a problem that the system isnt writing 0 in the table if stock is empty.
My Code to extract the number would be:
HtmlNode node = doc.DocumentNode.SelectSingleNode("//tr[1]//td[5]");
With this I get product2 items in stock of course, any1 got a trick for me
to preprocess the table and fill the td´s with 0 or another way to
grab the right numbers to the right product?
HTML:
<tr>
<td class="data">product1</td>
<td class="data" width="350">TEST1</td>
<td class="data">27</td>
<td class="data">ST</td>
<td class="data"></td>
<!-- <td class=data>`LIST-KWERT[j].value`</td> -->
<td class="data"></td>
<!-- <td class=data>`LIST-SEINM[j].value`</td> -->
<!-- <td class=data>`LIST-SSPEM[j].value`</td> -->
<td class="data"></td>
<td class="data"></td>
<td class="data"></td>
<td class="data">999,9</td>
</tr>
<tr>
<td class="data">product2</td>
<td class="data" width="350">TEST2</td>
<td class="data">13</td>
<td class="data">ST</td>
<td class="data">21,000</td>
<!-- <td class=data>`LIST-KWERT[j].value`</td> -->
<td class="data"></td>
<!-- <td class=data>`LIST-SEINM[j].value`</td> -->
<!-- <td class=data>`LIST-SSPEM[j].value`</td> -->
<td class="data">5,000</td>
<td class="data">10,000</td>
<td class="data">243</td>
<td class="data">35,5</td>
</tr>
If you want to get 5th td in each row you use this code:
var html = new HtmlDocument();
html.LoadHtml(input);
var root = html.DocumentNode;
var list = new List<Data>();
foreach (var node in root.SelectNodes("//tr//td[5]"))
{
var price = node.InnerText.IsNullOrWhiteSpace() ? "no price" : node.InnerText;
}

How to create html template and how to send them through email without attachment

currently am working in asp.net c#..one of my client wants to send html template through email donot as attachment ..so i created attachment like this
please refer the html code
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>saloc</title>
</head>
<body>
<div>
<table style='width:90%; border:3px solid #C0C0C0;'>
<tbody align:'center';>
<tr>
<td align:'center'>
<table style='width:100%;padding:0;'>
<tbody>
<tr>
<td align:'left'>
<table style='width:100%;padding:0;'>
<tbody>
<tr>
<td align:'left'>
<table style='width: 100%;border:0;padding:0';>
<tbody>
<td align:'left' valign='top' style= 'width:15%';><img src='data:image/jpeg;base64,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' style='margin-left: 0px;'/>
</td>
</tr>
<tr>
<td> <div style='border-bottom:5px solid #808080;'></div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<table style='width:100%;padding:5px;word-spacing:0'>
<tbody><tr>
<td align:'left'>
<table style='width:100%;height:10px;'valign:'top''>
<tbody>
<tr>
<td align:'left'><div style='display:none;'></div>
<h2>ihigjkj</h2>
<div style='display: block;top: -105px;'></div>
<table style='width:100%; height: 178px;'>
<tbody><tr>
<td align:'left'>
<table style='width:100%;' border='0'>
<tbody>
<tr>
<td align:'left' valign:'top' style='width: 15%;'>
</td>
<!--<td align:'left' style='width: 5%;' valign:'top'>
</td>-->
<td align:'left' style='width: 80%;color:#303338;text-align:justify;word-wrap: break-word;' valign:'top'>
<p>jkgnbkvnkvb</p>
<!--<a href='http://www.ymlp.com/'>This is a link to some related web page...</a><a href='http://www.ymlp.com/'></a>-->
</td>
</tr>
<tr>
<td><hr /></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody></table>
<!--<table style='width:100%'>
<tbody>
<tr>
<td align:'left'>
</td>
</tr>
</tbody></table>-->
<table width:'100%'>
<tbody><tr>
<td align:'left'>
<div>
<h2>kvnmvbmbvm</h2>
</div>
</td>
</tr>
</tbody></table>
<table width:'100%'>
<tbody><tr>
<td align:'left'>
<table style='width: 100%;' border='0'>
<tbody><tr>
<td align:'left' style='width:80%;text-align:justify;word-wrap:break-word;color:#303338'; valign='top';>
<p>jgknkbnvnbvm,nb,mbv</p><br>
<!-- <a href='http://www.ymlp.com/'>This is a link to some related web page...</a><a href='http://www.ymlp.com/'></a>-->
</td>
<!--<td align:'left' style='width: 5%;' valign:'top'>
</td>-->
<td align:'left' style='width:15%;' valign:'top'>
<a href='http://www.saloc.in'> </td>
</tr>
<tr>
<td><hr /></td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
<table style='padding:0px;width:100%';'>
<tbody><tr>
<td align:'left'><h3>nngnbvmn,</h3>
</td>
</tr>
</tbody></table>
<table style='width:100%';>
<tbody><tr>
<td align:'left'>
<div style='text-align:justify;word-wrap:break-word;color:#303338';'>
<p>jgknkbnvnbvm,nb,mbv</p>
<br /> </div>
<div style='color:#003E61';'font-size:15px;font-family:'Times New Roman';> <hr/>
<span style='color:#CA3B2A'><b>SALOC Technologies PVT Ltd,</b></style></span><br/>
<b>#274/14,New Guddadahali Mysore Road,Bengaluru-560026,INDIA</b><br/>
<b> Voice:+91 80 2675 5000,Fax:+90 80 2674 7000</b><br />
<a href='mailto:shivananda#saloc.in'>shivananda#saloc.in</a>
</div>
<div>
</div>
<div style='color:green;text-align:center;border-top:dotted thin #C0C0C0;font-size:18px'>
<br />
<b><i>Business for mutual benefits</i></b><br />
<!--style='border-top:dotted thin #C0C0C0;'-->To Unsubscribe Click here<a href='mailto:shivananda#saloc.in'>:shivananda#saloc.in</a>
</div>
</td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
<!--<table width:'100%' cellpadding='4' cellspacing='0'>
<tbody><tr>
<td align:'left' >
<div style='font-size: 8px;'>
</div>
</td>
</tr>
</tbody></table>-->
</td>
</tr>
</tbody></table>
<!--<table style='width:600px' border='0' height:'30px'>
<tbody><tr>
<td align:'left'>
<div style='font-size: 8px;'>
</div>
</td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>-->
</table>
</div>
</body>
</html>
it looks very big but here one thing u make sure am storing image in byte array ..until now am not facing any problem .the created html template above is looking good if u want to see please paste in notepad as html then open it browser then u come to know ..fine actually when i send this template as attachment in gmail,after send email i get only text content as dis located manner mean not as original style but content not styles all are showing without style ....and one more criteria is our clients wants to see the html template directly on mail body not as attachment..please let me know how do i solve these problems i wish i'll get perfect solution about this because i trust stack overflow ...please help your help would be greatly appreciated
I suggested you to upload the image to web server and change the image path in the html file something like http://domainname.com/imageName.jpg.
Code
StreamReader reader = new StreamReader(Server.MapPath("~/emailer.html"));
string readFile = reader.ReadToEnd();
string myString = "";
myString = readFile;
string mailServer, mailFrom;
int port;
string mailId, mailPass;
string subject;
string mailTo;
try
{
subject = "Subject";
mailTo = "receipient#gmail.com";
mailServer = "smtp.gmail.com";
mailFrom = "Mail From Text";
mailId = "sender#gmail.com";
mailPass = "xxxxxx";
port = 587;
MailMessage mail = new MailMessage(mailId, mailTo, subject, myString.ToString());
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient(mailServer, port);
System.Net.NetworkCredential nc = new System.Net.NetworkCredential(mailId, mailPass);
smtp.UseDefaultCredentials = false;
smtp.Credentials = nc;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(mail);
ScriptManager.RegisterStartupScript(this, this.GetType(), "alertmessage", "javascript:alert('Submitted successfully')", true);
}
catch(Exception ex){ }
Change subject, mailTo,mailFrom, mailId, Password as per yours.

How to read <table> into 'onmouseover' event with C# and HTMLAgilityPack

How to read <table> into onmouseover event with C# and HTMLAgilityPack?
markup code :
<a href="#" class="chan_live_not_free" onclick="return false;" onmouseover="return overlib('
<table>
<tr class=fieldRow>
<td class=posH_col width=40>
<strong>pos</strong>
</td>
<td class=rest_col width=90>
<strong>satellite</strong>
</td>
<td class=freqH_col width=50>
<strong>freq</strong>
</td>
<td class=rest_col width=90>
<strong>symbol</strong>
</td>
<td class=rest_col width=90>
<strong>encryption</strong>
</td>
</tr>
<tr>
<td class="pos_col">39.0°e</td>
<td class=rest_col>Hellas Sat 2</td>
<td class="freq_col">12.606 H</td>
<td class=rest_col>30000 - 2/3</td>
<td class=enc_not_live>MPEG-4 BulCrypt</td>
</tr>
</table>',CAPTION, 'Arena Sport 4 (serbia) – 19/10/14 - 11:30');" onmouseout="return nd();">
Arena Sport 4 (serbia)
</a>
I need to read the table into onmouseover event. How does it read?
You could get the element attribute of the <a> tag with HTML Agility Pack and then using regular expressions get the <table> inside the string, something like the following code :
var html = #"<a href='#' class='chan_live_not_free' onclick='return false;' onmouseover='return overlib(
<table>
<tr class=fieldRow>
<td class=posH_col width=40>
<strong>pos</strong>
</td>
<td class=rest_col width=90>
<strong>satellite</strong>
.
.
.
<tr>
<td class="pos_col">39.0°e</td>
<td class=rest_col>Hellas Sat 2</td>
<td class="freq_col">12.606 H</td>
<td class=rest_col>30000 - 2/3</td>
<td class=enc_not_live>MPEG-4 BulCrypt</td>
</tr>
</table>,CAPTION, 'Arena Sport 4 (serbia) – 19/10/14 - 11:30');' onmouseout='return nd();'>
Arena Sport 4 (serbia)
</a>";
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var value = doc.DocumentNode.SelectSingleNode("//a[#class='chan_live_not_free']").Attributes["onmouseover"].Value;
var text = Regex.Matches(value, #"<table>([^)]*)</table>")[0].Value;

Modify Existing HTML Table

I have an HTML table that I request from a webserver in C#. I am then displaying the page in my aspx webform. How can I add a prerequisite based on the course ID to the last column in the table without hard-coding the prerequisite? Example of the table design is below.
<tr bgcolor="#E1E1CC">
<td width="7%">003597</td>
<td width="5%">01</td>
<td width="1%">OPT</td>
<td width="8%">MT H </td>
<td width="16%">2:00 pm - 2:50 pm </td>
<td width="17%">08/26/13 - 12/12/13</td>
<td width="8%">
<a href="http://www.mnsu.edu/registrar/building.html"target = _blank>
<b>TR C124</b>
</a>
</td>
<td width="19%">Staff</td>
<td width="4%">22</td>
<td width="4%">6</td>
<td width="4%"><font color="#000000">Open</font></td>
<td width="7%">
<a href=Notes.asp?SpclNote=20143+003597+IT+100 target = _blank>
<b>Notes</b>
</a>
</td>
</tr>
<tr bgcolor="#E1E1CC">
<td colspan="3"> </td>
<td width="8%">M </td>
<td width="16%">10:00 am - 11:50 am</td>
<td width="17%">08/26/13 - 12/09/13</td>
<td width="8%">
<a href="http://www.mnsu.edu/registrar/building.html"target = _blank>
<b>WH 0119 </b>
</a>
</td>
<td width="19%">Staff</td>
<td colspan="4"> </td>
</tr>
If you are getting the page html as a string you could just insert your html into it. Something like:
private void SetValue(string PageHtml, string ID, string TextToInsert)
{
string html = PageHtml;
string sMyHtmlToInsert = TextToInsert;
int iSplitIndex = html.IndexOf(ID);
iSplitIndex = html.IndexOf("{tag}",iSplitIndex);
string sHtml1 = html.SubString(0, iSplitIndex);
string sHtml2 = html.SubString(iSplitIndex);
string sFinalHtml = sHtml1 + sMyHtmlToInsert + sHtml2;
}

Categories