相关疑难解决方法(0)

在Outlook或其他客户端中打开电子邮件时,MailMessage为一个点添加两个点

我正在使用C#生成和发送电子邮件.

邮件消息是html格式化的,并且在调用Send方法之前一切正常,即在href URL中的aspx之前只有一个点,但是当我在Outlook或任何其他电子邮件客户端中打开发送的电子邮件时,它显示href的双点,如下面的代码所示.

<a href='http://localhost/xyz/invitation..aspx?invitecode=92EFB482-1792-4BC6-9507-70D2E3F06FE0'>Click Here </a>
Run Code Online (Sandbox Code Playgroud)

我的问题:为什么会发生这种情况,有没有办法解决这个问题,比如MailMessage.BodyEncoding的一些特殊编码?我使用MailMessage.BodyEncoding的默认编码(ASCII).

c# email outlook

12
推荐指数
1
解决办法
2517
查看次数

使用System.Net.Mail.MailAddress或其他库指定.eml文件名

我需要在要求时提交电子邮件.

我的代码有效:

  • 发送电子邮件
  • 请求时提交电子邮件
  • 但是不允许我指定文件名(使用guid作为文件名)
  • 示例:c:\ Archive\email\1003d05d-11ca-45e2-a5f4-cf2da29c39d9.eml

潜在解决方案

  1. 将文件保存到临时文件夹,重命名文件,然后复制到最终目标
  2. 使用其他方法保存文件,性能更佳

优点和缺点

  • 解决方案1:丑陋且性能不佳

有没有人知道如何向"MySpecifiedFileName.eml"提交电子邮件,而无需重命名然后复制?

现有守则:

Public Shared Sub Send(ByVal EmailFrom As String, ByVal EmailTo As String, ByVal Subject As String, ByVal HTMLBody As String, Optional SaveToFile As Boolean = False, Optional SaveFilepath As String = "")
    Dim MyMsg As MailMessage = New MailMessage

    Dim Recipients() As String
    Recipients = Split(EmailTo, ";")

    With MyMsg
        .From = New System.Net.Mail.MailAddress(EmailFrom)
        For i = 0 To Recipients.Count - 1
            If Recipients(i).ToString <> "" Then …
Run Code Online (Sandbox Code Playgroud)

c# vb.net

12
推荐指数
1
解决办法
4006
查看次数

SmtpClient.send(MailMessage) 在电子邮件的正文中添加一个额外的句点

我正在使用 System.Net.Mail.SmtpClient。

我建立我的MailMessage。IsBodyHtml设置为真。Body 是一些带有一些链接的 html。

有时,会发生一些奇怪的行为 - 将在其中一个链接中添加一个额外的句点。例如,链接将在 MailMessage 正文中设置为:

<a href="http://www.myapp.com/company/contact">Contact Us</a>
Run Code Online (Sandbox Code Playgroud)

但收到的电子邮件显示有一个额外的时期:

<a href="http://www.myapp..com/company/contact">Contact Us</a>
Run Code Online (Sandbox Code Playgroud)

真正奇怪的行为是有时将额外的时间段添加到不同的链接,有时根本不会添加!

这是 System.Net.Mail.SmtpClient 的错误吗?因为 MailMessage 中的正文在发送时没有额外的时间段:

_smtp.Send(message); //message.Body has no extra period during sending
Run Code Online (Sandbox Code Playgroud)

请注意,我正在使用DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectorywhich 将电子邮件写入文件。

更新: 我不认为这实际上修复了它,但是通过设置message.BodyEncoding = System.Text.Encoding.UTF8;,我似乎无法重现该错误。任何想法为什么可能已经修复了它?

c# asp.net smtp system.net.mail smtpclient

6
推荐指数
0
解决办法
575
查看次数

是否可以在.net中读取.eml文件

我想知道是否可以解析点网中的.eml和.msg文件(最好是从内存流中解析),以便我可以在ASP.Net页面上使用它们.

vb.net asp.net file

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×3

asp.net ×2

vb.net ×2

email ×1

file ×1

outlook ×1

smtp ×1

smtpclient ×1

system.net.mail ×1