1

SmtpClientExchange サーバー経由で .NET を使用して SMTP 電子メールを送信する MVC Web サイト用のコードを作成しました。送信される電子メールには、Web サイトでホストされている画像とファイルへのリンクを含む HTML 本文が含まれています。

ネットワーク上で内部的に実行された場合、電子メールは正常に送信されますが、ドメイン上にないホストされたサーバーから実行された場合、電子メールは送信されますが、本文は空白です。誰かが理由を知っていますか?リンクされた画像またはファイルが潜在的な脅威となり、ドメイン外のサーバーから送信されたために信頼されていないことが原因ですか?

電子メールを送信するコードは次のMailDefinitionとおりです。クラスを使用して、ダウンロードを要求した本文にファイルへのリンクを挿入します。

MailDefinition md = new MailDefinition();
md.From = "test@testing.com";
md.Subject = "Test Email";
md.IsBodyHtml = true;

ListDictionary replacements = new ListDictionary();
replacements.Add("REQUESTED_LINK", @"C:\MyFile.pdf");

MailMessage email = md.CreateMailMessage(mailTo, replacements, content, new System.Web.UI.Control());

SmtpClient emailClient = new SmtpClient();
emailClient.Host = "MyExchangeServer";

emailClient.Send(email);
4

2 に答える 2

1

私の推測ではMailDefinition.BodyFileName、コードから欠落している値です。

メッセージ本文テキストを含むファイルの名前。デフォルトは空です。

開発中または内部サーバーでBodyFileNameは、いくつかの価値があります。ホストされているサーバー ファイルが見つからないため、電子メールの本文が空です。

参照用にこの例を参照してください

于 2012-06-12T10:49:06.550 に答える
0

電子メールの本文を含む .html ファイルがライブ サーバーに展開されていなかったため、電子メールの本文が空白であったことが判明しました。追加すると問題が解決したので、結局セキュリティの問題ではなかったことがわかりました。ご協力いただきありがとうございます

于 2012-06-12T11:09:55.703 に答える