2017-09-26 122 views
-3

//这是我的按钮发送事件//
私人无效btnSend_Click(对象发件人,EventArgs的){ 尝试 { // 这是成功发送我的HTML文件但没有表头//我的电子邮件地址发送,但没有表头

   string mailBody = "<HTML><Body><table width='100%' style='border:Solid 1px Black;'>"; 

       foreach (DataGridViewRow row in dataGridView3.Rows) 
       { 
        mailBody += "<tr>"; 
        foreach (DataGridViewCell cell in row.Cells) 
        { 
         mailBody += "<td style='color:blue;'>" + cell.Value + "</td>"; 
        } 
        mailBody += "</tr>"; 
       } 
       mailBody += "</table></Body></HTML>"; 
//The html form ends here// 


       Outlook._Application _app = new Outlook.Application(); 
       Outlook.MailItem mail = (Outlook.MailItem)_app.CreateItem(Outlook.OlItemType.olMailItem); 
       mail.To = txtTo.Text; 
       mail.Subject = txtSubject.Text; 
       //mail.Body = mailBody; 
       mail.HTMLBody = mailBody; 

       mail.Importance = Outlook.OlImportance.olImportanceNormal; 
       ((Outlook._MailItem)mail).Send(); 
       MessageBox.Show("Your Message has been successfully sent.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); 
      } 

//我的电子邮件地址发送数据的机构,但对于在DataGridView表不显示表headers.//

+0

我不明白你的问题是什么。如果你想在电子邮件正文中使用HTML,那么告诉它'mail.IsBodyHtml = true;' – Equalsk

+0

你的问题没有太多的清晰。请编辑该问题以添加样本输入和预期结果。例如,当你通过一个特定的HTML如何你期待看到邮件 –

+0

大家好。我的代码确实发送电子邮件。正文是HTML,它显示了从datagridview中提取的数据,但没有表头。例如每列都有一个标题。我试图显示列标题以及被拉的单元格。 – SirOupium

回答

1

如果你只是寻找一个HTML标头标签,你会期待使用TH元素,类似如下:

<TABLE BORDER='1'> 
 
<TR><TH>Table Header 1</TH><TH>Table Header 2</TH></TR> 
 
<TR><TD>Table Cell 1</TD><TD>Table Cell 2</TD></TR> 
 
</TABLE>

没有进一步的信息,我们无法真的在这里提供大量投入 - 我们需要期望的输入/输出,并在此我们只能简单地假设。

0
private void btnSend_Click(object sender, EventArgs e) 
    { 
     string mailBody = "<HTML><Head><Body><table width='100%' style='border:Solid 1px Black;'>"; 

     foreach (DataGridViewColumn Column in dataGridView3.Columns) 
     { 
      mailBody += "<td style=font -size:100%'><b>" + Column.HeaderText + "</b></td>"; 
     } 
      foreach (DataGridViewRow row in dataGridView3.Rows) 
      { 
       mailBody += "<tr style=font - size:150 % '>"; 
       foreach (DataGridViewCell cell in row.Cells) 
       { 
        mailBody += "<td style='color:black;'>" + cell.Value + "</td>"; 
       } 
       mailBody += "</tr>"; 
      } 
     mailBody += "</Head></table></Body></HTML>"; 

     Outlook._Application _app = new Outlook.Application(); 
     Outlook.MailItem mail = (Outlook.MailItem)_app.CreateItem(Outlook.OlItemType.olMailItem); 

     try 
     { 
      mail.To = txtTo.Text; 
      mail.Subject = txtSubject.Text; 
      mail.HTMLBody=mailBody; 

      mail.Importance = Outlook.OlImportance.olImportanceNormal; 
      ((Outlook._MailItem)mail).Send(); 
      MessageBox.Show("Your Message has been successfully sent.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); 
      txtTo.Clear(); 
      txtSubject.Clear(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
    } 

//这是终于为我工作的。

相关问题