How to send an email from my C# codebehind - Getting System.Net.Mail.SmtpFailedRecipientException

前端 未结 3 394
[愿得一人]
[愿得一人] 2021-01-22 02:23

I have a webform where someone can set up an account - I want to send them an email confirmation.

The code I\'m using:

       // Create e-mail message
           


        
相关标签:
3条回答
  • 2021-01-22 02:48

    I'm guessing this is because your website is not running under a domain account. A lot of mail servers don't allow anonymous users send email.

    You could try creating a service account that's in the domain and set the application pool up to run under that service account.

    0 讨论(0)
  • 2021-01-22 02:53

    OK - got it working. Below is the working coding; looks like me configuring the NetworkCredential object was the issue. Thanks everyone though for your assistance in helping me reach the solution.

            MailAddress fromAddress =  new MailAddress("OurOrganisationEmail@ourdomain.com","Our Organisation");//"name@yourdomain.com";
            MailAddress toAddress = new MailAddress("webuser@domain.com", "Web User"); //"name@anydomain.com"; 
    
            //Create the MailMessage instance 
            MailMessage myMailMessage = new MailMessage(fromAddress, toAddress);
    
            //Assign the MailMessage's properties 
            myMailMessage.Subject = "Confirmation";
            myMailMessage.Body = "You are now registered test";
            myMailMessage.IsBodyHtml = true;
    
            //Create the SmtpClient object
            SmtpClient smtp = new SmtpClient();
    
            //Send the MailMessage (will use the Web.config settings) 
            smtp.Send(myMailMessage);
    

    web.config

    <system.net>
      <mailSettings>
        <smtp>
      <network host="mail.ourdomain.com" port="9999" userName="OurOrganisationEmail@ourdomain.com" password="OurOrganisationEmailPassword"/>
        </smtp>
      </mailSettings>
    </system.net>
    
    0 讨论(0)
  • 2021-01-22 02:56

    Your client code looks fine, the problem may be in web.config:

    host="mail.OurOrganisationEmail@ourdomain.com"
    

    it's an email address, not a valid hostname it should look like this:

    host="mail.ourdomain.com"
    

    Have you tested if the smtp server works ? just make some basic tests using telnet. http://technet.microsoft.com/en-us/library/aa995718(v=exchg.65).aspx

    also, check this post for additional info Send Email via C# through Google Apps account

    0 讨论(0)
提交回复
热议问题