2011-12-03 8 views
0

私はTo、件名、メッセージなどのメール情報を取得するC#アプリケーションを持っています。次に、wcfサービスを呼び出してメールを送信します(インターンはsmtpclient.send()を使用します)。問題は、メッセージ本文にハイパーリンクが含まれている場合、リンクとして再調整されていないことです。プレーンテキストとして送信します。メールのハイパーリンクはリンクではなくプレーンテキストとして認識されます

これは2シナリオの、

  1. http://localhost/私%の20pages /test.aspx持っています - リンクとして認識されていない
  2. http://localhost/mypages /test.aspx - リンク
として認識し

しかし、両方のメールプロパティはプレーンテキストです。私はリンクをエンコードするために、HttpUtility.UrlEncode()を使用しています。

この問題を解決するにはどうすればよいですか?

ありがとう事前にあなたはURLがリンクされていることを確認したい場合は

+0

"localhost/my%20pages/test.aspx"がリンクとして認識されない場合は、最初の部分のみがメールクライアントによって認識されることを意味するのか、それとも認識されない? –

答えて

1

がHTMLとしてメールを送信 - あなたがHTMLとしてそれをフォーマットする必要があります。

プレーンテキストは、魔法のソースが(たとえばOutlook)は、テキストであったか否か、かかわらず、いくつかのの電子メールクライアントがhttp接頭辞が表示され、自動的にそれからリンクを作成し、あなたのためのリンクを作成しません。

0

自分の言葉通り、プレーンテキストメールの「通常の」リンクは認識されますが、%20を含むリンク(空白文字)は認識されません。 1つの解決策は、最初にURLの%20の空白を避けることです。完全に合法であっても、それはURLのあまり「親しみやすい」文字ではありません。あなたが望むならば、後でhtaccessを使って、よりフレンドリーで特別なキャラクター(例えば三重ダッシュ---)を空白にマップすることができます。

関連する問題