我的数据在datagridview中取得,然后需要点击发送按钮将数据通过邮件发送,邮件的格式有文本和表格,请问高手如何实现,我现在只知道如何发邮件,但是邮件中的表格如何生成,不清楚。

解决方案 »

  1.   

    有个笨办法通过datagridview 可以获取到DataSet, 然后再内存中打开一个Word,操作Word对象,往Word内灌DataSet数据,完成后复制word内的表格,粘贴到邮件内容中, 不知道是否可以取到邮件内容的对象,邮件内容的对象是否支持粘贴?
      

  2.   

    我的意思也是发送Html格式的邮件将你datagridview中的数据,动态写入一个html的Table中,然后发送动态组合而成的html,用户收到会会显示出一个表格形式的数据。
      

  3.   

    CS 代码 public void uf_SendMailToAgents(string as_DutyName,string as_DutyMail, string as_BeginDate, string as_EndDate, string as_AgentName,string as_AgentMail)
             {
                 string ls_Server, ls_SendFrom, ls_Body = "";
                 ls_Server = ConfigurationSettings.AppSettings["SmtpServer"].Trim();
                 ls_SendFrom = ConfigurationSettings.AppSettings["MailSender"].Trim();
                 SmtpMail.SmtpServer = ls_Server;
                 MailMessage lo_Message = new MailMessage();
                 //MailAttachment lo_Attach = new MailAttachment("C:\\Compal\\SIT Mail Release\\Mail Attachment\\A31\\2011\\2011-5-28 14-33-34\\postback.doc");
                 //lo_Message.Attachments.Add(lo_Attach);
                 lo_Message.To = as_AgentMail;
                 lo_Message.Cc = as_DutyMail;
                 lo_Message.From = ls_SendFrom;
                 lo_Message.Subject = "SW SITMailRelease System---- 設定代理人提醒";
                 lo_Message.Priority = MailPriority.High;
                 lo_Message.BodyFormat = MailFormat.Html;
                 lo_Message.BodyEncoding = System.Text.Encoding.UTF8;
                 ls_Body = uf_CreateAgentBody(as_DutyName, as_AgentName, as_BeginDate, as_EndDate);
                 lo_Message.Body = ls_Body;
                 SmtpMail.Send(lo_Message);
             }         public string uf_CreateAgentBody(string as_DutyName, string as_AgentName, string as_BeginDate, string as_EndDate)
             {
                 XmlDataDocument lo_Document = new XmlDataDocument();
                 XmlDeclaration lo_Declaration = lo_Document.CreateXmlDeclaration("1.0", "UTF-8", null);
                 XmlElement lo_Root = lo_Document.CreateElement("SITMailRelease");
                 lo_Document.AppendChild(lo_Root);             XmlElement lo_EmpName = lo_Document.CreateElement("Name_Eng");
                 lo_Document.DocumentElement.AppendChild(lo_EmpName);
                 lo_EmpName.InnerText = as_AgentName;             XmlElement lo_Agent = lo_Document.CreateElement("Duty");
                 lo_Document.DocumentElement.AppendChild(lo_Agent);
                 lo_Agent.InnerText = as_DutyName;             XmlElement lo_BeginDate = lo_Document.CreateElement("BeginDate");
                 lo_Document.DocumentElement.AppendChild(lo_BeginDate);
                 lo_BeginDate.InnerText = as_BeginDate;
                 XmlElement lo_EndDate = lo_Document.CreateElement("EndDate");
                 lo_Document.DocumentElement.AppendChild(lo_EndDate);
                 lo_EndDate.InnerText = as_EndDate;             //XmlElement lo_Link = lo_Document.CreateElement("Link");
                 //lo_Document.DocumentElement.AppendChild(lo_Link);
                 //lo_Link.InnerText = ConfigurationSettings.AppSettings["href"].ToString();             XmlElement lo_Date = lo_Document.CreateElement("DateNow");
                 lo_Document.DocumentElement.AppendChild(lo_Date);
                 lo_Date.InnerText = DateTime.Now.ToShortDateString();             lo_Document.InsertBefore(lo_Declaration, lo_Root);
                 string ls_file = this.up_MailToAgent;
                 string ls_Body = this.uf_MailFormat(lo_Document, ls_file);
                 return ls_Body;
             }注:ls_file为xsl文件的路径xsl代码<?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output method="html"/>
      <xsl:template match="/SITMailRelease">
        <html>
          <head>
            <title></title>
            <style type="text/css">
              body{
              font-family:Arial, Helvetica, sans-serif,"宋体";
              background:#e8e8e8;
              font-size:14px;
              }
              td{
              font-size:14px;
              padding:5px;          font-family:Arial, Helvetica, sans-serif,"宋体";
              }          .MailItemKey
              {
              font-size:12px;
              font-weight:bold;
              }
            </style>
          </head>
          <body>
           <table id="table1" width="750" cellspacing="0" cellpadding="0" >
              <tr>
                <td colspan="2">
                  Dear <xsl:value-of select="Name_Eng"/>,
                </td>
              </tr>
              <tr>
                <td colspan="2" height="20">            </td>
              </tr>
              <tr>
                <td height="24" width="30"></td>
                <td>
                  您已經被<xsl:value-of select="Duty"/>設置為代理人,時間為<xsl:value-of select="BeginDate"/>---<xsl:value-of select="EndDate"/>            </td>
              </tr>
             
              
              <tr>
                <td height="44" colspan="2"> Best Regards!</td>
              </tr>          <tr height="25">
                <td colspan="2">
                  <xsl:value-of select="DateNow" />
                </td>
              </tr>
            </table>
          </body>
        </html>
      </xsl:template>
    </xsl:stylesheet>
      

  4.   

    这个xsl档,可以画出表格
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
    <xsl:template match="/SITMailRelease">
      <html>
        <head>
          <title></title>
          <style type="text/css">
            body
            {
            font-family: Arial, Helvetica, sans-serif, "宋体";
            font-size: 14px;
            }        td
            {
            font-size: 14px;
            padding: 5px;
            font-family: Arial, Helvetica, sans-serif, "宋体";
            }        .MailItemKey
            {
            font-size: 14px;
            font-weight: bold;
            font-family: Arial, Helvetica, sans-serif, "宋体";
            }
          </style>
        </head>
        <body>
          <table align="center">
            <tr>
              <td>            <table d="table1"  cellspacing="0" cellpadding="0" width="1000px" style="border: solid 1px #BACF84">
                  <tr>
                    <td width="50"> </td>
                    <td align="right" style="font-family: Arial, Helvetica, sans-serif; font-size: x-large; font-weight: normal; color: #336600; font-style: italic;">
                      SW SIT Mail Release System
                    </td>
                    <td width="50">
                    </td>
                  </tr>
                  <tr>
                    <td>
                    </td>
                    <td>Dear All,</td>
                    <td></td>
                  </tr>
                  <tr>
                    <td colspan="3" height="15">
                    </td>
                  </tr>
                  <tr>
                    <td ></td>
                    <td>
                      The following images are released.
                    </td>
                    <td></td>
                  </tr>
                  <tr>
                    <td height="15px"></td>
                    <td></td>
                    <td></td>
                  </tr>
                  <tr>
                    <td></td>
                    <td>                  <table width="100%" cellspacing="0" cellpadding="0" >
                        <tr bgcolor="#F0F7E1">
                          <td width="250"  class="MailItemKey">
                            Compal Project Code :                      </td>                      <td width="700" >
                            <xsl:value-of select="ProjectCode"/>                      </td>
                        </tr>                    <tr bgcolor="#FFFFFF">
                          <td  text-align="center"  class="MailItemKey">
                            Compal Project Name :                      </td>                      <td  text-align="center">                        <xsl:value-of select="ProjectName"/>
                          </td>
                        </tr>
                        <tr bgcolor="#F0F7E1">                      <td  text-align="center"  class="MailItemKey">
                            Customer Code :                      </td>                      <td  text-align="center">
                            <xsl:value-of select="CustomerCode"/>                      </td>
                        </tr>
                        <tr bgcolor="#FFFFFF">
                          <td  text-align="center"  class="MailItemKey">
                            Image Owner :                      </td>                      <td  text-align="center">                        <xsl:value-of select="ImageOwner"/>
                          </td>
                        </tr>                    <tr  bgcolor="#F0F7E1">                      <td  text-align="center"  width="250"  class="MailItemKey">
                            Image Release Date :
                          </td>                      <td  test-align="center" width="700">
                            <xsl:value-of select="ReleaseDate"/>
                          </td>
                        </tr>                    <tr bgcolor="#FFFFFF">                      <td  text-align="center"  class="MailItemKey">
                            Files Server Saved Path :
                          </td>                      <td  text-align="center">
                            <xsl:value-of select="FTPPath"/>
                          </td>
                        </tr>
                        <tr bgcolor="#F0F7E1">                      <td  text-align="center"  class="MailItemKey">
                            Files Server UserName :
                          </td>                      <td  text-align="center">
                            <xsl:value-of select="FTPUser"/>                      </td>
                        </tr>
                        <tr  bgcolor="#FFFFFF">                      <td  text-align="center"  class="MailItemKey">
                            Files Server UserPwd :                      </td>                      <td  text-align="center">                        <xsl:value-of select="FTPPassword"/>
                          </td>
                        </tr>                    <tr bgcolor="#F0F7E1">                      <td  text-align="center"  class="MailItemKey">
                            <font color="red">
                              Release Note :
                            </font>
                          </td>                      <td  text-align="center" wrap="true">
                            <font color="red">
                              <xsl:value-of select="Re" disable-output-escaping="yes"></xsl:value-of>
                            </font>                      </td>
                        </tr>
                      </table>
                    </td>
                    <td></td>
                  </tr>
                  <tr>
                    <td height="20"></td>
                    <td></td>
                    <td></td>
                  </tr>
                  
                  <tr>
                    <td></td>
                    <td>                  Image information :
                    </td>
                    <td></td>
                  </tr>
                  
                  <tr>
                    <td>                </td>
                    <td>
                      <table id="table10" cellpadding="0" cellspacing="0"  style="border: solid 1px #F0F7E1" >                    <tr >                      <td  class="MailItemKey" bgcolor="#F0F7E1" >
                            Platform
                          </td>
                          <td class="MailItemKey" bgcolor="#F0F7E1">
                            Language
                          </td>
                          <td class="MailItemKey" bgcolor="#F0F7E1">
                            Image ID
                          </td>
                          <td  class="MailItemKey" bgcolor="#F0F7E1">
                            OS
                          </td>
                          <td class="MailItemKey" bgcolor="#F0F7E1">
                            Block
                          </td>
                          <td class="MailItemKey" bgcolor="#F0F7E1">
                            BIOS Version
                          </td>                    </tr>
                        <xsl:for-each select="MailContent">
                          <tr>
                            <td style="border: solid 1px #F0F7E1">
                              <xsl:value-of select="Platform"/>
                            </td>
                            <td style="border: solid 1px #F0F7E1">
                              <xsl:value-of select="Language"/>
                            </td>
                            <td style="border: solid 1px #F0F7E1">
                              <xsl:value-of select="ImageID"/> 
                            </td>
                            <td style="border: solid 1px #F0F7E1">
                              <xsl:value-of select="OS"/>
                            </td>
                            <td style="border: solid 1px #F0F7E1">
                              <xsl:value-of select="Block"/>
                            </td>
                            <td style="border: solid 1px #F0F7E1">
                              <xsl:value-of select="BIOSVersion"/>
                            </td>                      </tr>
                        </xsl:for-each>
                      </table>
                    </td>
                    <td></td>
                  </tr>
                  <tr>
                    <td height="30"></td>
                    <td></td>
                    <td></td>
                  </tr>
                  <tr>
                    <td>                </td>
                    <td style="font-style:italic">
                      Best Regards!
                    </td>
                    <td></td>
                  </tr>
                  <tr>
                    <td>                </td>
                    <td style="font-style:italic">
                      <xsl:value-of select="DateNow" />
                    </td>
                    <td></td>
                  </tr>
                  <tr>
                    <td height="30"></td>
                    <td></td>
                    <td></td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </body>
      </html>
      </xsl:template>
    </xsl:stylesheet>