senden von E-mail in asp.net-auch über web-config
ich bin tryiung erstellen Sie eine Kontakt-Seite ,wo der Benutzer klickt auf senden und sendet eine E-Mail an mich, ich sah einige Beispiele, aber Sie scheinen zu hart zu Kodieren Sie Ihre E-Mail-Anmeldeinformationen in den code, fand ich heraus, dass für die Sicherheit m speichern Sie den Benutzernamen und das Passwort in die webconfig Datei, unten ist meine web-config-code und my default aspx.cs-code, kann jemand mir bitte helfen das problem zu lösen, dies ist der Fehler, bekomme ich
Der remotename konnte nicht aufgelöst werden: 'smtp.gmail.com,587' Zeile 45: mailClient.Send(message);
Hier ist mein appsettings-und code:
<appSettings>
<add key="PFUserName" value="[email protected]"/>
<add key="PFPassWord" value="mypassword"/>
<add key="MailServerName" value="smtp.gmail.com,587"/>
</appSettings>
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;
using System.Web.Configuration;
using System.Net;
namespace WebApplication2
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
{
SendMail(txtEmail.Text, txtComments.Text);
}
private void SendMail(string from, string body)
{
string Username = WebConfigurationManager.AppSettings["PFUserName"].ToString();
string Password = WebConfigurationManager.AppSettings["PFPassWord"].ToString();
string MailServer = WebConfigurationManager.AppSettings["MailServerName"].ToString();
NetworkCredential cred = new NetworkCredential(Username, Password);
string mailServerName = ("smtp.gmail.com,587");
MailMessage message = new MailMessage(from, Username, "feedback", body);
SmtpClient mailClient = new SmtpClient("smtp.gmail.com,587");
mailClient.EnableSsl = true;
mailClient.Host = mailServerName;
mailClient.UseDefaultCredentials = false;
mailClient.Credentials = cred;
mailClient.Send(message);
message.Dispose();
}
}
}
- mögliche Duplikate von stackoverflow.com/questions/9313047/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die SMTP-Einstellung im inneren des
mailSettings
- Konfiguration in web.config wie dieseDein server name ist
smtp.gmail.com
(entfernen der 587 von dort). 587 ist der port, smtp. So setzen Sie diesen Wert in der host-Eigenschaft.C# - Code:
Dies ist, was ich verwende derzeit in meinem Web-Config mit einigen offensichtlichen änderungen
in der CS-Datei
und
für den Versand.
Ihrem host-name sollte "smtp.gmail.com" und dann setzen
mailClient.Port
auf 587.warum hast du nicht kompilieren, eine Klasse, um eine dll?
Gut, ich benutze diesen code, genießen Sie 🙂
oben ist
web.config
und hier ist der back-end-code :system automatisch die details des smtp von
web.config