Dies ist mein Code zum Senden von E-Mail nach der Registrierung erfolgreich ist. Es funktioniert gut auf meinem IIS-Server localhost. Aber nach der Bereitstellung der Website auf dem Server wird keine E-Mail an den Benutzer gesendet. Es wird keine Ausnahme oder Fehlermeldung angezeigt.E-Mail senden Code ist nicht arbeiten nach dem Hosting
MailMessage mm = new MailMessage("[email protected]", TextBoxEmail.Text.Trim());
mm.Subject = "Password Recovery";
mm.Body = string.Format("Hi ,<br /><br />Your password is .<br /><br />Thank You.");
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential();
NetworkCred.UserName = "[email protected]";
NetworkCred.Password = "xyz";
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
message = "Registration successful. Activation email has been sent.";
ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + message + "');", true);
gleichen Code arbeiten auf Passwort-Recovery-Seite. aber hier funktioniert es nicht.
Ich habe einige Änderungen im Code und auch eine neue Seite für die Registrierung erstellen jetzt ist es
Objektverweis nicht auf eine Instanz eines Objekts festgelegt Schleppfehler zeigt.
Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt.
Ausnahmedetails: System.NullReferenceException: Objektverweis nicht auf eine Instanz eines Objekts festgelegt.
zuerst dachte ich, dass es Fehler beim Senden von E-Mail-Code ist, aber es funktioniert gut auf IIS lokalen Server und auch auf anderen Seiten. so denke ich, dass es ein Problem des Knopfklickereignisses ist. nur in der Lage, hier zu erreichen. Bitte helfen Sie mir, wie ich weiß, dass ich hier meine Antwort bekomme.
mein neuer Code:
using (MailMessage mail = new MailMessage())
{
mail.From = new MailAddress("[email protected]");
mail.Subject = "mailSubject";
mail.Body = "mailBody";
mail.IsBodyHtml = true;
mail.To.Add("[email protected]");
using (SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587))//2nd parameter is PORT No.
{
smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "xyz");
smtp.EnableSsl = true;//set this as your Host Name properties, for gmail,its true
smtp.Send(mail);//actual sending operation here
}
}
versuchen Sie 465 als ausgehenden Port. –
Oft verlangen Provider, dass der verwendete Host ihr eigener Host ist. Ich hatte dasselbe Problem mit einem Anbieter, bis sie mir sagten, dass ich ihren Gastgeber einstellen muss. –
Ich dachte ja ... aber der gleiche Code funktioniert auf einer anderen Seite für die Passwortwiederherstellung – kish