Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从.net System.net.Mail发送的消息在BlackJack II Windows Mobile上不可见_C#_.net_Asp.net - Fatal编程技术网

C# 从.net System.net.Mail发送的消息在BlackJack II Windows Mobile上不可见

C# 从.net System.net.Mail发送的消息在BlackJack II Windows Mobile上不可见,c#,.net,asp.net,C#,.net,Asp.net,我正在从我的ASP.net页面向电子邮件帐户发送消息,消息已正确发送,并且可以在Thunderbird或我使用的任何其他电子邮件客户端中查看 但我无法在我的Windows Mobile 6.1(BlackJacK II)设备中查看消息文本,我已经使用了设置 msg.BodyEncoding = System.Text.Encoding.Unicode; 或 甚至 msg.BodyEncoding = System.Text.Encoding.ASCII; 但这些工作和消息体在

我正在从我的ASP.net页面向电子邮件帐户发送消息,消息已正确发送,并且可以在Thunderbird或我使用的任何其他电子邮件客户端中查看

但我无法在我的Windows Mobile 6.1(BlackJacK II)设备中查看消息文本,我已经使用了设置

    msg.BodyEncoding = System.Text.Encoding.Unicode;

甚至

    msg.BodyEncoding = System.Text.Encoding.ASCII;
但这些工作和消息体在设备上都不可见

发送消息的代码如下所示

其中Body是ASP.net文本框控件

 try
  {
    MailMessage msg = new MailMessage("test@test.com", "test@test.com");
    msg.Subject = "[TestProduct - TestPage.aspx]";
    msg.Body = Body.Text;
    msg.IsBodyHtml = true;
    SmtpClient sc = new SmtpClient("localhost");
    sc.Send(msg);
    txtMsg.Text = "Thank you for contacting TestCompany Inc someone will contact you promptly.";
  }
  catch
  {
    txtMsg.Text = "Unable to send your message at this time, Please try again later. Sorry for inconvineance.";
  }
当IsBodyHtml=false并且我没有设置编码时,这些就是我接收的头

From - Tue Jun 09 11:48:23 2009
Received: from chronos ([127.0.0.1]) by chronos.lunarpages.com with MailEnable ESMTP; Tue, 09 Jun 2009 11:45:09 -0700
MIME-Version: 1.0
From: Removed
To: Removed
Date: 9 Jun 2009 11:45:09 -0700
Subject: [TestProduct - TestPage.aspx]
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Return-Path: <Removed>

test this message
发件人-2009年6月9日星期二11:48:23
收到:chronos.lunarpages.com通过MailEnable ESMTP从chronos([127.0.0.1])收到;2009年6月9日星期二11:45:09-0700
MIME版本:1.0
发件人:已删除
至:删除
日期:2009年6月9日11:45:09-0700
主题:[TestProduct-TestPage.aspx]
内容类型:文本/纯文本;字符集=美国ascii码
内容传输编码:引用可打印
返回路径:
测试此消息

但我仍然无法在设备中看到它。

检查以确保blackjack设置为接收HTML电子邮件。

检查以确保blackjack设置为接收HTML电子邮件。

我觉得这是您的移动设备的问题。你试过其他设备吗?您使用的是哪种浏览器?检查您的浏览器设置。

我觉得这是您的移动设备的问题。你试过其他设备吗?您使用的是哪种浏览器?检查浏览器设置。

21点上的邮件客户端可能无法显示HTML消息。大多数电子邮件程序生成它们发送的邮件的纯文本版本。但是,
System.Net.Mail.SmtpClient
不会自动执行此操作

您可以创建一个带有纯文本版本消息的
AlternateView
对象,如下所示

string plainTextVersion = //... 
msg.AlternateViews.Add(AlternateView.CreateFromString(plainTextVersion, null, "text/plain");
msg.AlternateViews.Add(AlternateView.CreateFromString(Body.Text, null, "text/html");

编辑:如果设备可以显示HTML消息,这不会解决问题。

21点上的邮件客户端可能无法显示HTML消息。大多数电子邮件程序生成它们发送的邮件的纯文本版本。但是,
System.Net.Mail.SmtpClient
不会自动执行此操作

您可以创建一个带有纯文本版本消息的
AlternateView
对象,如下所示

string plainTextVersion = //... 
msg.AlternateViews.Add(AlternateView.CreateFromString(plainTextVersion, null, "text/plain");
msg.AlternateViews.Add(AlternateView.CreateFromString(Body.Text, null, "text/html");

编辑:如果设备可以显示HTML消息,这不会解决问题。

您可以在移动设备上查看原始消息吗?如果是这样,我会把它贴在这里给一些专家看。查看设备试图呈现的MIME部分会有很大帮助。

您能在移动设备上查看原始消息吗?如果是这样,我会把它贴在这里给一些专家看。查看设备试图呈现的MIME部分会有很大帮助。

作为测试,我会尝试:

  • 根本不要设置IsBodyHtml
  • 将Subject设置为“foo”(该文本字符串)
  • 将Body设置为“bar”(该文本字符串)

这应该是最简单的邮件——如果它有效,一次只改变一件事,直到它坏掉:)

作为测试,我会尝试:

  • 根本不要设置IsBodyHtml
  • 将Subject设置为“foo”(该文本字符串)
  • 将Body设置为“bar”(该文本字符串)

这应该是最简单的邮件-如果它能工作,一次只更改一件事情,直到它中断:)

你确定你的邮件正文(body.Text)是HTML吗?我也尝试过IsBodyHtml=false,实际上正文不是HTML和简单文本移动设备上到底发生了什么?您可以看到邮件,但其中没有任何文本?是的,邮件到达,我可以看到主题文本,但当我打开邮件时,其中没有显示任何文本。您确定您的邮件正文(body.text)是HTML吗?我也尝试了IsBodyHtml=false,实际上,主体不是html和简单的文本。移动设备上到底发生了什么?您可以看到邮件,但其中没有任何文本?是的,邮件到达,我可以看到主题文本,但当我打开邮件时,其中没有显示任何文本。我的设备设置为接收HTML邮件我的设备设置为接收HTML邮件我正在使用默认outlook客户端接收邮件,这就是您的意思吗?如果您使用outlook,请选择帐户并选择“加载大小设置”,并确保邮件格式选择为HTML。我使用默认outlook客户端接收邮件,这是您的意思吗?如果您使用outlook,请选择帐户并选择“加载大小设置”并确保消息格式被选择为HTML。我尝试了这个,但它仍然无法工作msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Body.Text,null,“Text/plain”);我试过了,但仍然无法使用msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Body.Text,null,“Text/plain”);