alberto.alvarado
New member
- Joined
- Apr 2, 2009
- Messages
- 1
- Programming Experience
- 1-3
I need some help with a form I have on my web portal. This is a very simple form. The user fills in the form, then sends it to an email address. The problem is that some users aren't receiving the form correctly. All the fields are empty. The rest of the email is right, but the values are empty. As I said this happens only with a very few user, and I don't know if there is a problem with my form or Outlook is blocking in some way the content of the message.
Any help will be greatly appreciated.
Here is the code that manages the form content:
Any help will be greatly appreciated.
Here is the code that manages the form content:
VB.NET:
Imports system.Net.Mail
Imports DotNetNuke
Imports System.Web.UI
Imports System.Collections.Generic
Imports System.Reflection
Imports DotNetNuke.Security.PortalSecurity
'Fecha: 29/05/2007
'Creado por: Laura Corrales.
'Modificado por: Antonio Sánchez Ruano.
Partial Class DesktopModules_Certificados_Certificados
'Variables Globales.
Inherits Entities.Modules.PortalModuleBase
Dim tablatemp As DataTable
'Proceso de carga de la pagina donde se asigna la fecha del sistema al campo de fecha de solicitud.
Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
txtfecha_sol.Value = Today.Date
End Sub
'Proceso para enviar la solicitud del certificado.
Protected Sub Enviar_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Enviar.ServerClick
'Variables para las sentencias SQL.
Dim Sql_Sol_Vac As New StringBuilder()
Dim Sql_Det_Sol_Vac As New StringBuilder()
'Variables
Dim tipo_certificado As String
Dim validar As New String("ok")
Dim dia, mes, ano, fecha_actual As String
Dim diad, mesd, anod, diah, mesh, anoh As String
'Recogemos la opción seleccionada.
If RadioButton1.Checked Then
tipo_certificado = RadioButton1.Text
ElseIf RadioButton2.Checked Then
tipo_certificado = RadioButton2.Text
ElseIf RadioButton3.Checked Then
tipo_certificado = RadioButton3.Text
ElseIf RadioButton4.Checked Then
tipo_certificado = RadioButton4.Text
ElseIf RadioButton5.Checked Then
tipo_certificado = RadioButton5.Text
ElseIf RadioButton6.Checked Then
tipo_certificado = RadioButton6.Text
ElseIf RadioButton7.Checked Then
tipo_certificado = RadioButton7.Text
Else
tipo_certificado = Me.motivo.Value.ToString
End If
'Extraemos el día, mes y año de la fecha del sistema.
dia = Today.Day
mes = Today.Month
ano = Today.Year
fecha_actual = dia + "/" + mes + "/" + ano
'Comprobamos si los campos están vacíos
If txtDesde.Text = "" Or txtHasta.Text = "" Then
Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyMessageBoxScript", "alert('Por favor, introduzca un valor en el campo vacio.');", True)
validar = "ko"
Exit Sub
'Extraemos dia, mes y año de la fecha desde y hasta para validar posibles errores.
Else
'para la fecha desde
diad = txtDesde.Text.Substring(0, 2)
mesd = txtDesde.Text.Substring(3, 2)
anod = txtDesde.Text.Substring(6, 4)
'para la fecha hasta
diah = txtHasta.Text.Substring(0, 2)
mesh = txtHasta.Text.Substring(3, 2)
anoh = txtHasta.Text.Substring(6, 4)
' Validamos las fechas introducidas.
If (mesh > mesd And anoh > anod) Or (mesh = mesd And diah < diad) Or (mesd > mesh And anod = anoh) Or anod > anoh Then
Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyMessageBoxScript", "alert('Por favor, introduzca una fecha correcta.');", True)
validar = "ko"
Exit Sub
End If
' Validamos los dias de cada mes.
'mes de la fecha desde.
If mesd = "04" Or mesd = "06" Or mesd = "09" Or mesd = "11" Then 'para los meses que tienes 30 días de la fecha desde.
If diad > 30 Then
Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyMessageBoxScript", "alert('Error: El mes indicado en el inicio de vacaciones debe tener como maximo 30 dias.');", True)
txtDesde.Focus()
validar = "ko"
Exit Sub
End If
ElseIf mesd = "02" Then 'para el caso de febrero.
If diad >= 29 Then
Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyMessageBoxScript", "alert('Error: El mes indicado en el inicio de vacaciones debe tener como maximo 28 dias.');", True)
txtDesde.Focus()
validar = "ko"
Exit Sub
End If
End If
'mes de la fecha hasta.
If mesh = "04" Or mesh = "06" Or mesh = "09" Or mesh = "11" Then 'para los meses que tienes 30 días de la fecha hasta.
If diah > 30 Then
Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyMessageBoxScript", "alert('Error: El mes indicado en el final de vacaciones debe tener como maximo 30 dias.');", True)
txtHasta.Focus()
validar = "ko"
Exit Sub
End If
ElseIf mesh = "02" Then 'para el caso de febrero.
If diah >= 29 Then
Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyMessageBoxScript", "alert('Error: El mes indicado en el final de vacaciones debe tener como maximo 28 dias.');", True)
txtHasta.Focus()
validar = "ko"
Exit Sub
End If
End If
' Validamos si la fecha introducida es anterior a la de hoy.
If txtDesde.Text < Today.Date Then
Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyMessageBoxScript", "alert('Error: La fecha inicial no puede ser anterior a hoy.');", True)
txtDesde.Focus()
validar = "ko"
Exit Sub
End If
End If
'Si todas las validaciones están OK creamos la fila.
If validar = "ok" Then
'Generamos el e-mail para rrhh.
'Variables para el e-mail.
Dim oTo As New String(Me.txtcorreo.Value.ToString())
Dim oFrom As New String(Me.UserInfo.Email)
Dim oCC As New String("")
Dim oSubject As New String("Solicitud Permiso ")
Dim oBody As New String("")
'Generamos el cuerpo del e-mail.
oBody = "<html xmlns:o><body><table width='60%' border='0' align='center' bgcolor='#D8F9D5'> "
oBody = oBody + "<tr><td> </td></tr><tr><td><div align='center'><table cellspacing='0' "
oBody = oBody + "bgcolor='#339900' cellpadding='0'><tr><td> </td></tr><tr><td width='600px' "
oBody = oBody + "align='center'><font color='#FFFFFF' face='Arial'><b>SOLICITUD DE PERMISOS</b>"
oBody = oBody + "</font></td></tr><tr><td> </td></tr></table></div></td></tr><tr><td> </td>"
oBody = oBody + "</tr><tr><td><table cellspacing='0' cellpadding='0' align='center' border='0'><tr>"
oBody = oBody + "<td width='35%' align='right'><font face='Arial'><strong>Tipo de Permiso:</strong>"
oBody = oBody + "</font></td><td>"
oBody = oBody + "<input value='" + tipo_certificado.ToString + "' style='width:370px; border:none'/>"
oBody = oBody + "</td></tr><tr><td width='35%' align='right'><font face='Arial'><strong>Correo:</strong>"
oBody = oBody + "</font></td><td>"
oBody = oBody + "<input value='" + Me.txtcorreo.Value.ToString + "' style='width:370px; border:none'/>"
oBody = oBody + "</td></tr><tr><td width='35%' align='right'><font face='Arial'><strong> </strong>"
oBody = oBody + "</font></td><td> </td></tr><tr><td width='35%' align='right'><font face='Arial'>"
oBody = oBody + "<strong>Fecha de Solicitud:</strong></font></td><td>"
oBody = oBody + "<input value='" + Me.txtfecha_sol.Value.ToString + "' style='width:80px; border:none; text-align:center'/>"
oBody = oBody + "</td></tr><tr><td width='35%' align='right'><font face='Arial'><strong>Desde:</strong>"
oBody = oBody + "</font></td><td>"
oBody = oBody + "<input value='" + Me.txtDesde.Text.ToString + "' style='width:80px; border:none; text-align:center'/>"
oBody = oBody + "</td></tr><tr><td width='35%' align='right'><font face='Arial'><strong>Hasta:</strong>"
oBody = oBody + "</font></td><td>"
oBody = oBody + "<input value='" + Me.txtHasta.Text.ToString + "' style='width:80px; border:none; text-align:center'/>"
oBody = oBody + "</td></tr></table></td></tr><tr><td> </td></tr></table></body></html>"
'Creamos un objeto Email para enviarlo.
Dim oEmail As New MailMessage(oFrom, oTo, oSubject, oBody)
oEmail.IsBodyHtml = True
oEmail.Priority = MailPriority.High
Try
'Creamos el objeto para enviar el e-mail.
Dim ocliente As New System.Net.Mail.SmtpClient
'Configuramos el host.
ocliente.Host = "mail.mnemo.com"
'Enviamos el e-mail.
ocliente.Send(oEmail)
Catch excmail As Exception
'En caso de que se produzca un error al enviar el e-mail, mostramos un mensaje.
Response.Write("Error: El envio del e-mail ha fallado por que " + excmail.ToString())
End Try
'Si todo ha funcionado correctamente se muestra un mensaje.
Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyMessageBoxScript", "alert('La Solicitud del Permiso ha sido gestionada satisfactoriamente.');", True)
End If
End Sub
End Class