asp.net en smtp server van gmail, iets klopt niet?

Status
Niet open voor verdere reacties.

InnerMe

Gebruiker
Lid geworden
10 nov 2009
Berichten
15
Hoi,

Ik heb de onderstaande code in c#, het is van een contact formulier. De bedoeling is dat de formulier zowel wordt opgeslagen in een database als dat het wordt gemaild en ook nog wordt ge cc't. Maar hij moet de email adres nemen die wordt ingevoerd in het invoer veld. Nu neemt het steeds mijn email adres die ik in de webconfig heb geschreven. Weet iemand hoe ik dit kan oplossen? Het gaat dus om de smtp van gmail.

HTML:
[HttpPost]
        public ActionResult Contact(MailFormModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    MailMessage mail = new MailMessage();
                    mail.To.Add("mijnemail@gmail.com");
                    mail.From = new MailAddress(model.strEmail);
                    mail.Subject = model.strName;
                    mail.Body = model.strText;
                    mail.IsBodyHtml = true;
                    SmtpClient smtp = new SmtpClient();
                    smtp.Host = ConfigurationManager.AppSettings["SMTP"];
                    smtp.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["ToEMAIL"], ConfigurationManager.AppSettings["ToPWD"]);
                    smtp.EnableSsl = true;
                    smtp.Send(mail);
                    mail.Dispose();
                }
                catch (Exception)
                {
                    return View(model);
                }
            }
            return RedirectToAction("Success");
        }

        public ViewResult Success()
        {
            return View();
        }

en dit staat er in mijn webconfig:

HTML:
<appSettings>
    <add key="ClientValidationEnabled" value="true"/> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/> 
    <add key="SMTP" value="smtp.gmail.com"/>
    <add key="ToEMAIL" value="mijnemail@gmail.com"/>
    <add key="ToPWD" value="mijnwachtwoord"/>
  </appSettings>


En hier wordt het mail gedeelte aangegeven.

HTML:
public class MailFormModel
    {
        [Required]
        [RegularExpression("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$",
            ErrorMessage = "* Not a valid email")]
        [DataType(DataType.EmailAddress)]
        public string strEmail { get; set; }
        [Required(ErrorMessage = "Name is Required.")]
        public string strName { get; set; }
        [Required(ErrorMessage = "A message is required.")]
        [DataType(DataType.MultilineText)]
        public string strText { get; set; }

    }

Alvast dankjewel
 
Laatst bewerkt:
Voor het instellen van je SMTP moet je niet in je AppSettings zijn, maar system.net

Code:
 <system.net>
        <mailSettings>
            <smtp>
              <network host="smtp.mijndomein.nl" port="25"/>
            </smtp>
        </mailSettings>
    </system.net>

En volgens mij ontbreekt het gedeelte van je code waarbij je model.strEMail zet....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan