1

SmtpClient 経由でメール送信を設定しようとすると問題が発生します。

次のようなコードを使用して、web.configファイルを介して構成します。

<configuration>
  <system.net>
    <mailSettings>
      <smtp from="mail@gmail.com" deliveryMethod="Network">
        <network enableSsl="true" host="smtp.gmail.com" port="587" userName="mail@gmail.com" password="pass" />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

次に、メッセージを送信します。

mailMessage = new MailMessage("mail@gmail.com", "mail@gmail.com", Subj, message.ToString());
using (var smtpClient = new SmtpClient()) { 
    smtpClient.Send(mailMessage); 
} 

しかし、現時点では、SMTP ホストが指定されていないという例外が発生しています。この方法で初期化しようとしました: new SmtpClient("smtp.gmail.com")、その後、SSL が必要であるが構成されていないという別の例外を受け取りました。

したがって、明らかに、web.config コンテンツは単に無視されます。必要なすべての設定が実際にそこにあることを指定するにはどうすればよいですか?

4

1 に答える 1

2

web.config の内容は、アプリケーション ルートの web.config のようには見えませんが、サブディレクトリに格納されているものです (たとえば、mywebsite.com/foo/web.configの代わりにmywebsite.com/web.config)

<system.net><mailSettings>構成要素をアプリケーションのルートにある web.config ファイルに移動すると、機能するはずです。

于 2013-08-18T01:44:38.993 に答える