-
Notifications
You must be signed in to change notification settings - Fork 0
/
contact.ashx
125 lines (108 loc) · 4.12 KB
/
contact.ashx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<%@ WebHandler Language="C#" Class="contact" %>
using System;
using System.Web;
using System.Net.Mail;
public class contact : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "application/json; charset=utf-8";
string name = context.Request.Form["name"];
string phone = context.Request.Form["phone"];
string from = context.Request.Form["mail"];
string coment = context.Request.Form["comment"];
if (string.IsNullOrEmpty(name))
{
context.Response.Write("{ \"info\" : \"error\", \"msg\" : \"Por favor introduzca su nombre.\" }");
return;
}
if (!IsValidEmail(from))
{
context.Response.Write("{ \"info\" : \"error\", \"msg\" : \"Por favor introduzca un e-mail válido.\" }");
return;
}
if (string.IsNullOrEmpty(coment))
{
context.Response.Write("{ \"info\" : \"error\", \"msg\" : \"Por favor indíquenos en que le podemos ayudar.\" }");
return;
}
try
{
SmtpClient smtpClient = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587, //465 587 25
EnableSsl = true,
Timeout = 10000,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new System.Net.NetworkCredential("[email protected]", "empresa2017")
};
MailMessage mail = new MailMessage();
mail.IsBodyHtml = true;
//Setting From , To and CC
mail.From = new MailAddress(from, name);
mail.To.Add(new MailAddress("[email protected]"));
//mail.CC.Add(new MailAddress("[email protected]"));
mail.Subject = "LYM Canarias WEB: " + name;
mail.Body = GetMailContent(name, from, phone, "LYM Canarias Web", coment);
smtpClient.Send(mail);
context.Response.Write("{ \"info\" : \"success\", \"msg\" : \"Su mensaje se ha enviado. Gracias por contactar con nostros!\" }");
}
catch (Exception e)
{
context.Response.Write("{ \"info\" : \"error\", \"msg\" : \"Lo sentimos, su mensaje no se ha podido enviar. Intentelo de nuevo pasado unos minutos.\" }");
}
}
public bool IsValidEmail(string email)
{
if (string.IsNullOrEmpty(email))
{
return false;
}
try {
var addr = new System.Net.Mail.MailAddress(email);
return (addr.Address == email);
}
catch {
return false;
}
}
public string GetMailContent(string name, string mail, string phone, string subject, string coment)
{
return @"
<html>
<head>
<title>Mail from " + name + @"</title>
</head>
<body>
<table style=""width: 500px; font-family: arial; font-size: 14px;"" border=""1"">
<tr style=""height: 32px;"">
<th align=""right"" style=""width:150px; padding-right: 5px;"">Name:</th>
<td align=""left"" style=""padding-left:5px; line-height: 20px;"">" + name + @"</td>
</tr>
<tr style=""height: 32px;"">
<th align=""right"" style=""width:150px; padding-right:5px;"">E-mail:</th>
<td align=""left"" style=""padding-left:5px; line-height: 20px;"">" + mail + @"</td>
</tr>
<tr style=""height: 32px;"">
<th align=""right"" style=""width:150px; padding-right:5px;"">Teléfono:</th>
<td align=""left"" style=""padding-left:5px; line-height: 20px;"">" + phone + @"</td>
</tr>
<tr style=""height: 32px;"">
<th align=""right"" style=""width:150px; padding-right:5px;"">Tema:</th>
<td align=""left"" style=""padding-left:5px; line-height: 20px;"">" + subject + @"</td>
</tr>
<tr style=""height: 32px;"">
<th align=""right"" style=""width:150px; padding-right:5px;"">Comentario:</th>
<td align=""left"" style=""padding-left:5px; line-height: 20px;"">" + coment + @"</td>
</tr>
</table>
</body>
</html>
";
}
public bool IsReusable {
get {
return false;
}
}
}