截取aspx页面body作为邮件的body发送
<%@ Page Language="C#" EnableEventValidation="false" ValidateRequest="false" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" language="javascript">
function ClientGet()
{
//document.getElementById("Chart_prodCap").src = document.getElementById("Chart_prodCap").src; //更改图片的src地址(相对→决定),比如,.net 3.5中的Chart控件生成的图片要通过Mail发送在邮件正文中,需加上这段,否则图片无法显示
//result is a div.
var result = document.getElementById("result");
var hiddenInfo = document.getElementById("hiddenInfo");
//alert(result.innerText);
hiddenInfo.value = result.innerHTML;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="result">
<input id="hiddenInfo" type="hidden" runat="server" name="hiddenInfo" />
<asp:Button ID="btnSendMail" runat="server" Text="Button" OnClientClick="ClientGet();"
onclick="btnSendMail_Click" />
<p>这个是个测试</p>
</div>
</form>
</body>
</html>
-------------------------------------------------------------------------------------------------------
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Mail;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
#region 發郵件
protected void btnSendMail_Click(object sender, EventArgs e)
{
//this.ClientScript.RegisterStartupScript(this.GetType(), "", "ClientGet();", true);
if (!string.IsNullOrEmpty(this.hiddenInfo.Value))
this.SendMail(this.hiddenInfo.Value);
}
protected void SendMail(string body)
{
//邮件所通知的人
string e_mail = "to@qq.com;";
sendMailBySmtp(e_mail, "这是个神奇的邮件", body);
}
private void sendMailBySmtp(string T, string S, string B)
{
MailMessage myMail = new MailMessage();
myMail.From = "from@qq.com";
myMail.To = T.Trim();
myMail.Subject = S.Trim();
//myMail.Priority = MailPriority.High; //邮件级别,.High、.Low、.Normal
myMail.BodyFormat = MailFormat.Html; //邮件形式,.Text、.Html
myMail.Body = B.Trim();
myMail.BodyEncoding = System.Text.Encoding.UTF8;
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");//1表示服务器需要用户名密码验证
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username");
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password");
SmtpMail.SmtpServer = "192.168.1.1";
SmtpMail.Send(myMail); //发送邮件
}
#endregion
}
作者:Gerry Ge
出处:https://www.cnblogs.com/gerryge/archive/2011/10/27/2226282.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
转载请注明出处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构