2

プロジェクトで POSTAL MVC を使用しているときに問題が発生しました。私のホスティング サービス会社は、Web 構成ではなくコードで smtp クライアント構成を設定するように要求しています。

どうやってするか ?

誰かが私に解決策を教えてくれることを願っています

ありがとうございました。

4

2 に答える 2

7

私も同じ問題を抱えていました。公式の郵便文書やハウツーに関する参照はありません。だからここに行く:

  1. カスタム構成で SmtpClient インスタンスを作成する
  2. 2 つの引数を取るコンストラクター (ViewEngineCollection、Func «SmtpClient») を使用して、Postal.EmailService インスタンスを作成します。
  3. これで、emailService を呼び出して、カスタム SmtpClient 構成を使用して電子メールを送信できます。

完全なサンプル コードは次のとおりです。

dynamic email = new Email("Example");
email.To = "webninja@example.com";
email.FunnyLink = DB.GetRandomLolcatLink();

SmtpClient client = new SmtpClient("mail.domain.com");
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("user@domain.pt", "somepassword");
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Port = 25;
client.EnableSsl = false;

Postal.EmailService emailService = new Postal.EmailService(new ViewEngineCollection(), () => client);

emailService.Send(email);
于 2016-03-21T16:40:33.927 に答える
0

ラファエルの答えに追加します。使用する場合

Postal.EmailService emailService = new Postal.EmailService(new ViewEngineCollection(), () => client);

このエラーが発生する可能性があります:空のビュー エンジンで emailService を作成するEmail view not found for [name for he email template]. Locations searchedためです。new Postal.EmailService(new ViewEngineCollection(), () => client)(上記のコメントで@Houssam Hamdanが提案したように)の代わりに使用して、剃刀ビューエンジンを使用しますViewEngines.Enginesnew ViewEngineCollection()

完全な行:

Postal.EmailService emailService = new Postal.EmailService(ViewEngines.Engines, () => client);
于 2020-05-16T19:23:17.133 に答える