将网页发送至邮箱

shenmixiaozi 2009-06-17 10:13:38
经常邮箱中收到类似与网页的邮件,像这种邮件是如何发送的。程序里面如何实现的呢?
...全文
113 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
sforiz 2009-06-17
  • 打赏
  • 举报
回复
学习、、、
yan286093636 2009-06-17
  • 打赏
  • 举报
回复
学习下,
Adechen 2009-06-17
  • 打赏
  • 举报
回复
来晚了,学习下
gwins 2009-06-17
  • 打赏
  • 举报
回复
关注。。。
qq196260188 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Jialang 的回复:]
提供你一个发送Email的函数,测试可行。
你所说的,只是Email的body是HTML而已。
注意这句话:msg.BodyFormat = System.Web.Mail.MailFormat.Html;

public bool SendToEmail(string ToEmailName, string TheSubject, string Thebody)
{
try
{
System.Web.Mail.MailMessage msg = new System.Web.Mail.MailMessage();
msg.From = "xxx@xxx.co…
[/Quote]

正解了..
insus 2009-06-17
  • 打赏
  • 举报
回复
参考:
http://www.systemnetmail.com/faq/4.8.aspx
研究过了,还不会,请再讨论.
major 2009-06-17
  • 打赏
  • 举报
回复
引用命名空间using System.Web.Mail;
using System.Text.RegularExpressions;
#region 将指定的网页发送Web邮件
/// <summary>
/// 将指定的网页发送Web邮件
/// </summary>
/// <param name="mailFrom">发送邮件地址</param>
/// <param name="mailTo">接收邮件地址</param>
/// <param name="mailSubject">邮件主题</param>
/// <param name="mailUrl">发送的HTML也地址</param>
/// <param name="mailFilePath">发送邮件的附件</param>
///<param name="i">发送邮件的方式</param>
/// <returns></returns>
public bool SendWebMail(string mailFrom, string mailTo, string mailSubject, string mailPassWord, string mailUrl, string[] mailFilePath, int i)
{
MailMessage mail = new MailMessage();
mail.From = mailFrom; ;
mail.To = mailTo;
mail.Subject = mailSubject;
mail.BodyFormat = MailFormat.Html;
string[] mailSmtp = Regex.Split(mailFrom, "@", RegexOptions.IgnoreCase);
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", mailSmtp[0]); //set your username here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", mailPassWord); //set your password here
SmtpMail.SmtpServer = mailSmtp[1].Insert(0, "smtp.");
string[] file = mailFilePath;
foreach (string filePath in file)
{
if (filePath != "")
{
mail.Attachments.Add(new MailAttachment(filePath));
}
}
try
{
WebClient myclient = new WebClient();
byte[] myBytes = myclient.DownloadData(mailUrl);
mail.Body = Encoding.Default.GetString(myBytes);
SmtpMail.Send(mail);
return true;
}
catch
{
return false;
}
}
shenmixiaozi 2009-06-17
  • 打赏
  • 举报
回复
发送之后都是?????????
msg.BodyEncoding = System.Text.Encoding.UTF8;//System.Text.Encoding.GetEncoding("gb2312");
这两个都不行
liushengmz 2009-06-17
  • 打赏
  • 举报
回复
三四楼说得有道理
Teng_s2000 2009-06-17
  • 打赏
  • 举报
回复
3,4楼说的对!!
tulong403 2009-06-17
  • 打赏
  • 举报
回复
关注
staywithc 2009-06-17
  • 打赏
  • 举报
回复
就是将字符串拼接成HTML就可以了,基本大部分的邮件客户端都支持
老郭20130824 2009-06-17
  • 打赏
  • 举报
回复
提供你一个发送Email的函数,测试可行。
你所说的,只是Email的body是HTML而已。
注意这句话:msg.BodyFormat = System.Web.Mail.MailFormat.Html;

public bool SendToEmail(string ToEmailName, string TheSubject, string Thebody)
{
try
{
System.Web.Mail.MailMessage msg = new System.Web.Mail.MailMessage();
msg.From = "xxx@xxx.com";
msg.To = ToEmailName;
msg.Subject = TheSubject;
msg.Body = Thebody;
msg.BodyFormat = System.Web.Mail.MailFormat.Html;
msg.BodyEncoding = System.Text.Encoding.UTF8;//System.Text.Encoding.GetEncoding("gb2312");
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
string username = System.Configuration.ConfigurationManager.AppSettings["EmailUserName"];
string password = System.Configuration.ConfigurationManager.AppSettings["EmailPassword"];
string emailSmtp = System.Configuration.ConfigurationManager.AppSettings["EmailSMTP"];
if (String.IsNullOrEmpty(username) ||
String.IsNullOrEmpty(password) ||
String.IsNullOrEmpty(emailSmtp))
{
throw new Exception("Error username or password for Email,check the config file of [EmailUserName] and [EmailPassword] and [EmailSMTP]!");
}
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", username);
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", password);

msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "465");

msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "1");


System.Web.Mail.SmtpMail.SmtpServer = emailSmtp;
System.Web.Mail.SmtpMail.Send(msg);
return true;
}
catch
{
return false;
}

}
jiangshun 2009-06-17
  • 打赏
  • 举报
回复
 try {


WebClient client = new WebClient();

Byte[] pageData = client.DownloadData("http://www.baidu.com");
string pageHtml = Encoding.ASCII.GetString(pageData);
//pageHtml就是百度生产的源文件,可以把这个当做邮件内容发送出去

}
catch (WebException webEx) {

if(webEx.Status == WebExceptionStatus.ConnectFailure) {
Console.WriteLine("");
}
}
xingzhiasa 2009-06-17
  • 打赏
  • 举报
回复
应该是获取网页内容后拼接字符串发送的吧……
shubinzhang 2009-06-17
  • 打赏
  • 举报
回复
学习
武哥博文 2009-06-17
  • 打赏
  • 举报
回复
关注。。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧