1

すべてがうまくいくはずですが、web.config でこの奇妙なエラーが発生します。

web.config の文字列リストが適切であると確信している場合、このエラーを取得するにはどうすればよいですか?

エラー:
構成エラー 説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下の特定のエラーの詳細を確認し、構成ファイルを適切に変更してください。

Parser Error Message: Unrecognized configuration section stringlist.

Source Error: 


Line 6:     <connectionStrings/>
Line 7:     
Line 8:         <stringlist key="SmtpServers">
Line 9:             <stringlistItem value="smtp.transip.nl" />
Line 10:            <stringlistItem value="localhost" />


Source File: C:\local\vCardGenerator.Website\vCardGenerator.Website\web.config    Line: 8 

Web.config:

    <stringlist key="SmtpServers">
        <stringlistItem value="smtp.transip.nl" />
        <stringlistItem value="localhost" />
    </stringlist>

クラス:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Configuration;
using System.Net.Mail;
using System.Net.Configuration;
using Compulutions.Net;
using Compulutions.Web;
using System.IO;
using System.Web.Mail;
using System.Collections.Generic;
using System.ComponentModel;
using System.Web.Services.Description;

// System.Web.Mail.SmtpMail.SmtpServer
// using System.Web.Mail.SmtpClient;

namespace vCardGenerator.Website.Masterpage
{
    public class SendvCard
    { //
        public void MailvCard(string recipient, string filename)
        {
        Mailer smtp = new Mailer("smtpServers");

        /* SMTP - port 25 */

        smtp.AddAttachment(filename); //.vcf file Path
        smtp.FromAddress = new MailAddress("someone@domain.nl");
        smtp.Subject = "vCard";
        smtp.MailBody = "There is a vCard waiting for you in the attachment!";
        smtp.AddRecipient(recipient);

#if !DEBUG
        try
        {
#endif
            smtp.SendMail();
#if !DEBUG
        }

        catch (Exception ex)
        {
            Response.Write("Exception Occured:   " + ex);
                //Responds.Write("Sending vCard Failed, Please try again!")
        }
#endif
        }
    }
}

同様の質問は私の説明に適合しません。SendvCard.cs のインスタンスを作成し、クラス (MailvCard) で send メソッドを呼び出しました。

aspx.cs 自体:

        //  Calls the method at the class
            smtp.MailvCard("user@domain.com", "C:\\local\\vCardGenerator.Website" + "\\" + "FirstName_LastName" + ".vcf");
        }

必要に応じて、その他の情報を喜んで提供します。

心から

4

3 に答える 3

2

宣言せずに新しいセクション(文字列リスト)を作成したため、エラーが表示されます。最初に、次のようにweb.configのconfigSections領域でセクションを宣言する必要があります。

<configSections>
    <section name="stringlist" type="System.Configuration.NameValueSectionHandler,System"/>
</configSections>

以下の文字列リストを構成のルートに配置します。

  <stringlist key="SmtpServers">
    <stringlistItem value="smtp.transip.nl" />
    <stringlistItem value="localhost" />
  </stringlist>

例とこれらの値にアクセスする方法については、次のリンクを参照してください。Web.configでのSectionGroupsとSectionsのカスタマイズ

また、これを達成するための非常に優れた方法がたくさんあることを覚えておいてください。Rashedul.Rubelが提案したmailSettingsなど。

于 2012-11-01T18:10:29.120 に答える
1
//you can try by using the following smtp configuration in web.config

<system.net>
    <mailSettings>
      <smtp>
        <network host="SMTPServer" port="" userName="username" password="password" />
      </smtp>
    </mailSettings>
  </system.net>
  <appSettings>
    <add key="Email" value="you@yourwebsite.com"/>
  </appSettings>

//where host=your server name, port=server machines port number

//and in code behind write the code as follows:

       string fromEmail = ConfigurationManager.AppSettings["Email"].ToString();
    string toEmail = txtEmail.Text;
    MailMessage message = new MailMessage(fromEmailAddress, toEmailAddress);
    message.Subject = txtSubject.Text;
    message.Body = txtBody.Text;

    SmtpClient smtp = new SmtpClient();
    smtp.Send(message);
于 2012-11-01T12:53:21.433 に答える
0
Action Mailer can be used to send email. email can be sent with attachment without using form. 
web config configuration for the smtp:

  <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network host="smtp.gmail.com" port="25" userName="username" password="password" defaultCredentials="false" enableSsl="true"/>
      </smtp>
    </mailSettings>
  </system.net>

 configure smtp in IIS

attachment can be done using Attachments.Inline["" + fileName] = System.IO.File.ReadAllBytes(filePath);

for more information see the link below:
http://ratiyaranmal.blogspot.com/2012/06/send-email-in-mvc-using-actionmailer.html
于 2012-11-01T17:24:08.200 に答える