Search code examples
c#emailxamarinsmtpsmtpclient

Send mail from my SMTP Client in xamarin


I try send mail with my smtp client but i dont have exception and mail doesn't recieved.

public void SendSMTPMail(string from, string to, string subject, string body)
{
   var smtp_client = new SmtpClient("mail.mydomain.gr",25);
   smtp_client.UseDefaultCredentials = false;
   smtp_client.EnableSsl = false;
   smtp_client.Credentials = new NetworkCredential("[email protected]", "mypass");

   ServicePointManager.ServerCertificateValidationCallback = (s, certificate, chain, sslPolicyErrors) => true;

   var msg = new MailMessage(from, to );
   msg.Subject = subject;
   msg.Body = body;
   smtp_client.SendAsync(msg , string.Empty);
}

i use breakpoint and i find some info

smtp_client.ServicePoint System.NotImplementException: The request feature is not implemented

but i use this code with another smtp and works fine. Any help ?


Solution

  • As an alternative, you could use my MailKit library to send mail using Xamarin.iOS/Android/Mac.

    public void SendSMTPMail(string from, string to, string subject, string body)
    {
        var message = new MimeMessage ();
        var builder = new BodyBuilder ();
    
        message.From.Add (InternetAddress.Parse (from));
        message.To.Add (InternetAddress.Parse (to));
        message.Subject = subject;
    
        builder.TextBody = body;
    
        message.Body = builder.ToMessageBody ();
    
        using (var client = new SmtpClient ()) {
            client.ServerCertificateValidationCallback = (s, certificate, chain, sslPolicyErrors) => true;
    
            client.Connect ("mail.mydomain.gr", 25, false);
            client.Authenticate ("[email protected]", "mypass");
            client.Send (message);
            client.Disconnect (true);
        }
    }