2017-12-01 1 views
0

Ich habe asp.net-Anwendung entwickelt, die E-Mail an die Domäne meiner Firma sendet. Beispiel: [email protected], aber ich kann es nicht an andere Domains wie [email protected] oder [email protected] senden. Muss ich Änderungen am SMTP-Server oder an meinem Code vornehmen? Lass es mich wissen, bitte. Ich bin ziemlich neu bei .net. Nachstehend ist der Code, den ich verwendet habe:Nicht in der Lage, E-Mail von meiner asp.net-Anwendung an andere Domäne zu senden

 MailMessage Msg = new MailMessage(); 
     var MailResult = false; 

     var EmailUser = RFSvc.Users.Where(u => u.Email == email).SingleOrDefault(); 
     if (EmailUser != null) 
     { 

      Msg.From = new MailAddress("[email protected]", "Company name"); 
      Msg.Subject = "Password Recovery"; 
      Msg.IsBodyHtml = true; 
      Msg.Body = "Your User Name is: " + EmailUser.Username + "<br /> Your password is: " + EmailUser.Password; 
      Msg.To.Add(email); 

      SmtpClient MailClient = new SmtpClient(); 

      MailClient.UseDefaultCredentials = false; 
      MailClient.Host = "mail.example.com"; 
      MailClient.Port = 25; 
      MailClient.Credentials = new NetworkCredential("username","password"); 
      //ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; 
      MailClient.EnableSsl = false; 

      try 
      { 
       MailClient.Send(Msg); 

       MailResult = true; 
      } 
      catch (Exception) 
      { 
      } 
     } 
+0

Check [diese] (https://stackoverflow.com/questions/18326738/how-to-send-email-in-asp-net- c-sharp), um Mail in '.net' zu senden. Auch die E-Mail-ID von gmail sollte wie folgt sein: [email protected] und nicht [email protected] Es würde anderen helfen, Sie zu führen, wenn Sie Ihren Code posten könnten. – stom

+0

@stom danke für die antwort. Ich habe die notwendigen Änderungen an der Frage vorgenommen. Ich habe auch erfahren, dass mein Code korrekt ist, und ich muss Kofigurationen im SMTP Server machen. Weißt du, welche Konfigurationen ich machen muss? –

+0

MailClient.EnableSsl = false; Ändern Sie in MailClient.EnableSsl = True; –

Antwort

0

Hey können Sie angeben, welchen Port verwenden Sie? also davon kann ich mehr Idee, wo Sie stecken

Der Gmail SMTP-Server-Name ist smtp.gmail.com und der Port mit send mail ist 587 und auch mit NetworkCredential für passwortbasierte Authentifizierung.

Als suggested by Trimantra Software Solution:

try 
     { 
      MailMessage mail = new MailMessage(); 
      SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); 

      mail.From = new MailAddress("[email protected]"); 
      mail.To.Add("to_address"); 
      mail.Subject = "Test Mail"; 
      mail.Body = "This is for testing SMTP mail from GMAIL"; 

      SmtpServer.Port = 587; 
      SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password"); 
      SmtpServer.EnableSsl = true; 

      SmtpServer.Send(mail); 
      MessageBox.Show("mail Send"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 

Hoffnung, damit es für Sie hilfreich

+0

Hallo, ich habe den Code, den ich benutze –

+0

Bitte ändern Sie diese Einstellung MailClient.EnableSsl = false; Ändern Sie in MailClient.EnableSsl = True; und auch versuchen, wenn dieser Port nicht funktioniert dann 587 Standard und versuchen, Code zu debuggen –

+0

Hallo @ILYAS, der Code funktioniert gut. Es sendet die Mail an meine Unternehmensdomäne. Es wird einfach nicht an andere Domains gesendet. Ich denke, ich muss den SMTP-Server konfigurieren. Weißt du, welche Konfigurationen ich tun muss? –

0

Ich bin in der Lage E-Mails von benutzerdefinierten Domain gmail.com zu schicken, ist hier der Code:

var fromAddress = new MailAddress("[email protected]", "From Name"); 
var toAddress = new MailAddress("[email protected]", "To Name"); 
const string fromPassword = "password"; 
const string subject = "Subject"; 
const string body = "Body";    

MailMessage message = new MailMessage(fromAddress, toAddress); 
message.Subject = subject; 
message.Body = body; 


var smtp = new SmtpClient 
{ 
    Host = "smtp.mydomain.com", 
    Port = 25, 
    EnableSsl = true, 
    DeliveryMethod = SmtpDeliveryMethod.Network, 
    UseDefaultCredentials = false, 
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword), 
    Timeout = 20000 
};    

smtp.Send(message); 

Hinweis:

Wenn es immer noch nicht für Sie funktioniert, kontaktieren Sie Ihre Domain reg istrar oder Mail-Provider und erhalten Sie smtp Mail-Einstellungen, oder versuchen Sie Port 465, 587 zu ändern, oder versuchen, einzelne Eigenschaft SmtpClient Klasse zu einem Zeitpunkt zu kommentieren, um zu überprüfen, ob es funktioniert.

Referenzen:

1.

2.

+0

Hi habe das schon probiert, hat aber nicht funktioniert. –

+0

Was genau hat nicht funktioniert? Hast du einen Fehler bekommen?Haben Sie eine Ausnahmebehandlung in Ihrem Code? – stom

+0

Hallo @stom Ich habe versucht, Mail an meine Firmen-Domain zu senden, es funktioniert perfekt. Aber nur wenn ich versuche, an andere Domain wie Google zu senden, gibt es diese Ausnahme: Mailbox nicht verfügbar. Die Antwort des Servers war: 5.7.1 Kann nicht weiterleiten –

Verwandte Themen