【问题标题】:Mail program splits link over two lines邮件程序将链接拆分为两行
【发布时间】:2011-02-15 20:36:29
【问题描述】:

在 C# 中,我会在用户注册后向他们发送一封带有激活链接的邮件。但是,该链接在邮件中分成两行,因此不起作用。

我在 Visual Studio 中检查过,包含链接的字符串看起来不错。 我也试过: strMessage.Replace("\r", ""); strMessage.Replace("\n", ""); 但没有成功。

您对如何解决这个问题有任何想法吗?我已经用谷歌搜索了几个小时,但找不到解决方案......

谢谢! /J

【问题讨论】:

  • 你能发布一个代码示例吗?
  • 很抱歉没有首先发布示例代码。 ... strMessage += "只需单击此链接(或将其复制并粘贴到浏览器中)以确认您的电子邮件地址。

    "; strMessage += "我的帐户

    "; ... 这是 ConfigurationManager.AppSettings["site"].ToString() 在电子邮件中分成两行。当我在 VS 中调试时,字符串看起来很好......

标签: c# email hyperlink split


【解决方案1】:

链接是否超过 78 个字符?还是前面有其他文字?

如果是这样,看看你能不能让它小于 78,我不认为它会包裹它。否则,我似乎记得这可以通过更改编码在某些电子邮件应用程序中得到解决,可能在这里也可以使用,因为我看到MailMessage 有各种编码属性。

【讨论】:

  • 我使链接短于 78 个字符,只是想看看它是否保持在一行,但没有成功。它仍然在同一个地方破裂......
【解决方案2】:

如果您将邮件作为 HTML 电子邮件发送,那么您可以在电子邮件周围放置一个链接,以便它在一行上呈现,然后将实际链接放在括号中,并附上有关如何复制和粘贴它的说明,以确保它是一行。

Register <a href="http://www.longaddresshere.com/thatkeepswrapping">here</a>
(if the above does not appear in a link, copy the following link into your
browser ensuring that it all goes on one line: 
http://www.longaddresshere.com/thatkeepswrapping)

【讨论】:

  • 是的,邮件是 HTML 格式的。整个邮件都在一个长字符串中,在 Outlook 和我正在使用的 webmail 界面中看起来很好。我不确定我是否理解您对电子邮件周围链接的意思。另外,我无法让“注册”命令工作。你能进一步解释一下吗?谢谢!
  • 我怀疑这是它的原因,但如果你使用双引号而不是单引号,它会有所不同吗?例如 strMessage += "我的帐户 \ 表示编译器将使用 " 放入字符串而不是终止它
  • 没有任何区别,仍然没有运气。 :(
  • 当我把链接放在邮件消息的最后,在表格标签之外,它起作用了。更陌生?!
【解决方案3】:

我终于设法解决了这个烦人的问题。看起来 Outlook 是一切的原因,它将我的 LONG html 字符串分成两行。我的链接恰好在换行符处。所以我添加了足够数量的字符(与背景颜色相同)以使我的链接从第二行开始。

不是最好的解决方案,但它在这种情况下有效......

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 2014-09-01
    • 2018-10-20
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多