方法'Send'没有重载需要'5'参数 [英] No overload for method 'Send' takes '5' arguments

查看:77
本文介绍了方法'Send'没有重载需要'5'参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我在下面的代码中得到以下错误,请您查看下面的代码,让我知道为什么它发生在我的代码中代码背后。



错误:方法'发送'没有重载需要'5'参数

  protected   void  ImgBtnSubmit_Click( object  sender,ImageClickEventArgs e)
{
尝试
{

string toadd = info@abc.co.uk;
var fromAddress = info @ abc。 co.uk;

var toAddress = toadd;
const string fromPassword = abc;
string subject = 联络;

string bcc = xyz@abc.co.uk;
string body = < table border = 1>< tr>< td>名称< / td>< td> + txtname.Text + < / td>< / tr> +
< tr>< td>电话< / td>< td> + txttel.Text + < / td>< / tr> +
< ; tr>< td>移动< / td>< td> + txtmobile.Text + < / td>< / tr> +
< tr> ;< td>电子邮件< / td>< td> + txtemail.Text + < / td>< / tr> +
< tr>< td>查询< / td>< td> + txtquery.Text + < / td>< / tr>< / table> ;

var smtp = new System.Net。 Mail.SmtpClient();
{
smtp.Host = mail.abc.co。英国;
smtp.Port = 25 ;
smtp.EnableSsl = false ;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress,from fromPassword);
smtp.Timeout = 20000 ;
}
smtp.Send(fromAddress,toAddress,bcc,subject,body) ; // 这里超越mentio ned error

Response.Redirect( replycontact.aspx);

txtname.Text = ;
txttel.Text = ;
txtmobile.Text = ;
txtemail.Text = ;
txtquery.Text = ;
}
catch (例外){}
}



提前感谢。

解决方案

错误非常明确:方法没有重载'发送'需要'5'参数

这是真的: http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.send(v = vs.110).aspx [ ^ 有一个参数,一个参数一个。没有采用密件抄送字符串的方法。


请尝试使用MailMessage对象,smtp.Send不会采用5参数。



  protected   void  ImgBtnSubmit_Click( object  sender,ImageClickEventArgs e)
{
try
{

string toadd = info@abc.co.uk;
var fromAddress = info @ abc。 co.uk;

var toAddress = toadd;
const string fromPassword = abc;
string subject = 联络;

string bcc = xyz@abc.co.uk;
string body = < table border = 1>< tr>< td>名称< / td>< td> + txtname.Text + < / td>< / tr> +
< tr>< td>电话< / td>< td> + txttel.Text + < / td>< / tr> +
< ; tr>< td>移动< / td>< td> + txtmobile.Text + < / td>< / tr> +
< tr> ;< td>电子邮件< / td>< td> + txtemail.Text + < / td>< / tr> +
< tr>< td>查询< / td>< td> + txtquery.Text + < / td>< / tr>< / table> ;

var smtp = new System.Net。 Mail.SmtpClient();
{
smtp.Host = mail.abc.co。英国;
smtp.Port = 25 ;
smtp.EnableSsl = false ;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress,from fromPassword);
smtp.Timeout = 20000 ;
}
MailMessage msg = new MailMessage();
msg.From = new MailAddress(fromAddress);
msg.To.Add( new MailAddress(toAddress));
msg.Bcc.Add( new MailAddress(bcc));
msg.Subject = subject;
msg.Body = body;
msg.IsBodyHtml = true ;

smtp.Send(msg);

Response.Redirect( replycontact.aspx);

txtname.Text = ;
txttel.Text = ;
txtmobile.Text = ;
txtemail.Text = ;
txtquery.Text = ;
}
catch (例外){}
}


< blockquote>答案很简单:



SmtpClient只有两种Send方法。第一个只需要一个MailMessage实例,第二个只需要四个字符串参数。



看这里: SmtpClient.Send方法 [ ^ ]。



能够阅读是一件好事,每天都在使用!



干杯!


Hi all,

I got a given below error in my code below, please have you look at my code below and let me know why its happened in my code behind.

error: No overload for method 'Send' takes '5' arguments

protected void ImgBtnSubmit_Click(object sender, ImageClickEventArgs e)
  {
      try
      {

          string toadd = "info@abc.co.uk";
          var fromAddress = "info@abc.co.uk";

          var toAddress = toadd;
          const string fromPassword = "abc";
          string subject = "Contact";

          string bcc = "xyz@abc.co.uk";
          string body = "<table border=1><tr><td> Name </td><td>" + txtname.Text + "</td></tr>" +
                  "<tr><td> Telephone </td><td> " + txttel.Text + "</td></tr>" +
                  "<tr><td> Mobile </td><td> " + txtmobile.Text + "</td></tr>" +
                  "<tr><td> Email </td><td> " + txtemail.Text + "</td></tr>" +
                  "<tr><td> Query </td><td> " + txtquery.Text + "</td></tr></table>";

          var smtp = new System.Net.Mail.SmtpClient();
          {
              smtp.Host = "mail.abc.co.uk";
              smtp.Port = 25;
              smtp.EnableSsl = false;
              smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
              smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
              smtp.Timeout = 20000;
          }
          smtp.Send(fromAddress,toAddress,bcc, subject,body);  // here am getting above mentioned error

          Response.Redirect("replycontact.aspx");

          txtname.Text = "";
          txttel.Text = "";
          txtmobile.Text = "";
          txtemail.Text = "";
          txtquery.Text = "";
      }
      catch (Exception) { }
  }


thanks in advance.

解决方案

The error is pretty explicit: "No overload for method 'Send' takes '5' arguments"
And it's true: http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.send(v=vs.110).aspx[^] there is one with one parameter, and one with four. There is no method which takes a bcc string.


please try with MailMessage object and smtp.Send will not take 5 argument.

protected void ImgBtnSubmit_Click(object sender, ImageClickEventArgs e)
    {
        try
        {

            string toadd = "info@abc.co.uk";
            var fromAddress = "info@abc.co.uk";

            var toAddress = toadd;
            const string fromPassword = "abc";
            string subject = "Contact";

            string bcc = "xyz@abc.co.uk";
            string body = "<table border=1><tr><td> Name </td><td>" + txtname.Text + "</td></tr>" +
                    "<tr><td> Telephone </td><td> " + txttel.Text + "</td></tr>" +
                    "<tr><td> Mobile </td><td> " + txtmobile.Text + "</td></tr>" +
                    "<tr><td> Email </td><td> " + txtemail.Text + "</td></tr>" +
                    "<tr><td> Query </td><td> " + txtquery.Text + "</td></tr></table>";

            var smtp = new System.Net.Mail.SmtpClient();
            {
                smtp.Host = "mail.abc.co.uk";
                smtp.Port = 25;
                smtp.EnableSsl = false;
                smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
                smtp.Timeout = 20000;
            }
            MailMessage msg = new MailMessage();
            msg.From = new MailAddress(fromAddress);
            msg.To.Add(new MailAddress(toAddress));
            msg.Bcc.Add(new MailAddress(bcc));
            msg.Subject = subject;
            msg.Body = body;
            msg.IsBodyHtml = true;

            smtp.Send(msg); 

            Response.Redirect("replycontact.aspx");

            txtname.Text = "";
            txttel.Text = "";
            txtmobile.Text = "";
            txtemail.Text = "";
            txtquery.Text = "";
        }
        catch (Exception) { }
    }


The answer is simple:

SmtpClient has exactly two Send methods. The first takes simply a MailMessage instance and the second takes exactly four string parameters.

Look here: SmtpClient.Send Method[^].

Being able to read is a good thing, use it every day!

Cheers!


这篇关于方法'Send'没有重载需要'5'参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆