Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 如何从.net发送邮件?_Email - Fatal编程技术网

Email 如何从.net发送邮件?

Email 如何从.net发送邮件?,email,Email,我按照下面的方式编写了该方法,但由于指定的字符串不是电子邮件地址所需的格式,因此出现了错误。请帮帮我 SendMail("xyz@gmail.com","hi","heloo"); public bool SendMail(string toMailAddress, string mailSubject, string mailMessage) { string smtphost ="smtp.gmail.com"; int smtpport

我按照下面的方式编写了该方法,但由于指定的字符串不是电子邮件地址所需的格式,因此出现了错误。请帮帮我

SendMail("xyz@gmail.com","hi","heloo");

public bool SendMail(string toMailAddress, string mailSubject, string mailMessage)
    {

         string smtphost ="smtp.gmail.com";
            int smtpport = 100;
            string smtpuser ="xyz";
            string smtppwd = "xyz";
            SmtpClient client = null;



            string MessageBody = string.Empty;
            try
            {

                message = new MailMessage();
                message.From = new MailAddress(smtpuser);
                message.To.Add(toMailAddress);
                message.BodyEncoding = System.Text.Encoding.UTF8;
                message.Subject = mailSubject;
                message.Body = mailMessage.ToString();



                message.IsBodyHtml = true;

                client = new SmtpClient();
                client.Host = smtphost;

                client.Port = smtpport;
                client.Credentials = new System.Net.NetworkCredential(smtpuser, smtppwd);
                client.Send(message);
            }
            catch (Exception ex)
            {
                string x = ex.Message;
            }
            return true;
        }
您的“发件人”用户必须采用有效电子邮件地址的形式

message.From = new MailAddress(smtpuser);

此外,您还需要为.to属性使用MailAddress构造函数。

请尝试,端口为25,IssEnabled为true,因为gmail服务器启用了SSL

请确保toMailAddress和smtpuser是有效的电子邮件地址。 尝试,使用smtpport=587;由Gmail为发送邮件(SMTP)提供。
希望这将使它工作良好。请列出你遇到的错误

此代码将起作用。我所做的是

  • 正确的smtphost
  • 正确的smtpport-587
  • 启用SSL
  • 在设置凭据之前,请将UseDefaultCredentials设置为false
  • 设置交付方法
  • 公共静态bool SendMail(字符串toMailAddress、字符串mailSubject、字符串mailMessage) { 字符串smtphost=“smtp.gmail.com”; int smtpport=587; 字符串smtpuser=”youremail@gmail.com"; 字符串smtppwd=“密码”; SmtpClient=null; string MessageBody=string.Empty; 尝试 { var message=new MailMessage(); message.From=新邮件地址(smtpuser); message.To.Add(toMailAddress); message.BodyEncoding=System.Text.Encoding.UTF8; message.Subject=mailSubject; message.Body=mailMessage.ToString(); message.IsBodyHtml=true; client=新的SmtpClient(); client.Host=smtphost; client.enablesl=true; client.Port=smtpport; client.UseDefaultCredentials=false; client.DeliveryMethod=SmtpDeliveryMethod.Network; client.Credentials=new System.Net.NetworkCredential(smtpuser,smtppwd); 客户端。发送(消息); } 捕获(例外情况除外) { 字符串x=ex.InnerException.Message; 控制台写入线(x); } 返回true;
    }错误发生在哪一行?是否可以打印toMailAddress变量并查看它是否是正确的电子邮件地址?此外,您正在执行以下字符串smtpuser=“xyz”;然后你用它作为电子邮件地址? public static bool SendMail(string toMailAddress, string mailSubject, string mailMessage) { string smtphost = "smtp.gmail.com"; int smtpport = 587; string smtpuser = "youremail@gmail.com"; string smtppwd = "password"; SmtpClient client = null; string MessageBody = string.Empty; try { var message = new MailMessage(); message.From = new MailAddress(smtpuser); message.To.Add(toMailAddress); message.BodyEncoding = System.Text.Encoding.UTF8; message.Subject = mailSubject; message.Body = mailMessage.ToString(); message.IsBodyHtml = true; client = new SmtpClient(); client.Host = smtphost; client.EnableSsl = true; client.Port = smtpport; client.UseDefaultCredentials = false; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Credentials = new System.Net.NetworkCredential(smtpuser, smtppwd); client.Send(message); } catch (Exception ex) { string x = ex.InnerException.Message; Console.WriteLine(x); } return true; }