Foros del Web » Programación para mayores de 30 ;) » .NET »

Envio mails desde mi pagina asp .net

Estas en el tema de Envio mails desde mi pagina asp .net en el foro de .NET en Foros del Web. Buenas! A ver si alguien me puede ayudar que estoy desesperada. Tengo una pagina desde donde hago envio de mails de la siguiente manera Dim ...
  #1 (permalink)  
Antiguo 26/05/2009, 01:57
 
Fecha de Ingreso: mayo-2006
Ubicación: Bilbo
Mensajes: 76
Antigüedad: 17 años, 11 meses
Puntos: 0
Exclamación Envio mails desde mi pagina asp .net

Buenas!
A ver si alguien me puede ayudar que estoy desesperada.
Tengo una pagina desde donde hago envio de mails de la siguiente manera

Dim email As New MailMessage()
With email
.From = Session("Mail")
.To = Session("Mail")
.Cc = "[email protected]" 'txtMailCopia.Text
.Subject = "Transports Request"
.Body = CuerpoMensaje
.BodyFormat = MailFormat.Html
End With
SmtpMail.Send(email)

Esto lo que hace es dejarme el mail que se genera en intepub/mailroot/queue, y de ahi con el servicio smtp del iis lo envia. El problema es que yo veo que el email se genera bien, llega a esa carpeta, desaparece (supongo q se envia) pero a veces no llega al destinatario.
Por que puede ser???

Como no se solucionar eso habia pensado que en lugar de enviar un email asi, abrir una ventana de outlook y que el usuario ya le de a enviar. Pero no se como hacerlo porque quiero que al abrir la ventana de outlook ya este puesto el cuerpo del mensaje, el destinatario y el titulo.
Alguien me sabria decir como puedo hacer esto???

Muchas gracias!
  #2 (permalink)  
Antiguo 26/05/2009, 02:31
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Envio mails desde mi pagina asp .net

verificaste si llegó a la papelera de reciclaje?
  #3 (permalink)  
Antiguo 26/05/2009, 04:38
 
Fecha de Ingreso: mayo-2006
Ubicación: Bilbo
Mensajes: 76
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Envio mails desde mi pagina asp .net

A la papelera de reciclaje??
El email???
Pues no, ni se me ha ocurrido...
Pero, a la papelera del servidor donde se genera y envia el email o a la papelera de la maquina del usuario q tiene q recibirlo???

Y xq iba a estar el email en la papelera de reciclaje???
  #4 (permalink)  
Antiguo 26/05/2009, 06:01
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Envio mails desde mi pagina asp .net

Hola Sandra, te explico el por qué de mi respuesta.

Yo de web forms entiendo poco, soy mas de aplicaciones para windows (o para eso me tiene la empresa, jejej)
El caso es que ademas hago paginas web (no en asp), y cuando tengo qeu enviar un correo por PHP, a veces el que lo recibe le llega a su papelera de reciclaje (y claro, cuando estas verificando si ha llegado o no, estaba ahí)

Como decías que a veces lo tenías y a veces no, a lo mejor te sucedía lo mismo, así qeu era una idea.

De todas formas, te adjunto la funcion que uso yo para el envio de correo (ten en cuenta que para aplicaciones windows)


Cita:
Public Function envio_correo(ByVal RowList As DataGridViewRow, ByVal mail_trdor As String) As Integer
Dim SmtpMail As New SmtpClient("hcas1")
Dim fromAddr As New MailAddress("[email protected]")
Dim toAddr As New MailAddress(calc_destinatario(RowList))
Dim email As New MailMessage(fromAddr, toAddr)
'archivo adjunto de ejemplo
Dim sFile As String = Obtener_fichero(RowList) '"C:\formulario.pdf"
'define un nuevo objeto adjunto
Dim oAttch As Mail.Attachment = New Mail.Attachment(sFile)
Dim valor As Integer = 1
Dim cuerpo As String

Try

'Especificamos manualmente las credenciales (pueden ser distitnas al usuario actual)
'Las especificamos como ("DOMINIO\USUARIO","PASSWORD")
'SmtpMail.Credentials = New System.Net.NetworkCredential("DOMINIO\USUARIO","PA SSWORD")

cuerpo = "<font face=Tahoma><p>Saludos</p> "

With email
.IsBodyHtml = True
.Subject = "Envio del pedido " & RowList.Cells(0).Value
.Body = cuerpo
.Priority = MailPriority.Normal
.Attachments.Add(oAttch)
End With

email.CC.Add(email_de_la_persona)
'Se manda siempre copia a la cuenta general de AyL
email.CC.Add(fromAddr)
'Se envía el correo
SmtpMail.Send(email)
valor = 0
Return valor
Catch ex As Exception
MsgBox(ex.Message)
valor = 1
Return valor
End Try
End Function


espero qeu te valgan ambass indicaciones. saludos
  #5 (permalink)  
Antiguo 26/05/2009, 06:18
 
Fecha de Ingreso: mayo-2006
Ubicación: Bilbo
Mensajes: 76
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Envio mails desde mi pagina asp .net

Hola Javi!

Pues he comprobado lo de la papelera de reciclaje y nada.

Respecto al otro codigo q me pasas, si, es similar al que yo utilizo pero para aplicaciones de consola. Ya lo tenia.
Lo q pasa que ahora tal cual tengo mi aplicacion eso no me vale. Y me he planteado en hacer una aplicacion de consola, q se ejecute cada cierto tiempo, y se dedique a sacar los emails q haya pendientes (guardando los campos del email en una tabla y q esta aplicacion cree el mail y lo envie)

Pero es que el funcionamiento es el mismo, uno web y otro no pero va igual. Entonces no quiero arriesgarme a perder tiempo cambiandolo para al final tener el mismo problema, xq ahora no tengo mucho tiempo para solucionarlo...
  #6 (permalink)  
Antiguo 26/05/2009, 06:26
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Envio mails desde mi pagina asp .net

pues nada sandra, hasta ahi llega mi conocimiento

Decirte que a mi si que me funciona desde aplicacion de consola y en principio se recibe siempre. (por lo menos nadie se ha quejado)

lindo dia
  #7 (permalink)  
Antiguo 26/05/2009, 09:20
 
Fecha de Ingreso: febrero-2009
Mensajes: 472
Antigüedad: 15 años, 2 meses
Puntos: 14
Respuesta: Envio mails desde mi pagina asp .net

Hola SandraLl. Tengo el siguiente codigo que l que hace es enviar correos desde una pagina web. A mi me funciona sin problemas. Espero porder ayudarte con este codigo.

Código:
Imports System.Web.Mail
Imports System.Net.Mail
Imports System.Net.Mime.MediaTypeNames

Sub enviarcorreos()
 'variables de envio de correo
  Dim MiStringBuilder As New StringBuilder
  Dim MiStringWriter As New StringWriter(MiStringBuilder)
  Dim MiHTMLTextWriter As New HtmlTextWriter(MiStringWriter)

 'Mandamos llamar el metodo RenderControl con el control TextWriter como parametro
  formularioweb.RenderControl(MiHTMLTextWriter)

  'Así obtenemos el texto HTML que el browser tomaría como entrada para desplegarlo    
  'gráficamente.
  Dim TextoControlHTML As String = MiStringBuilder.ToString()
  Dim correo As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage

  correo.To.Add("direccion de correo del destinatario)
  correo.From = New MailAddress("direccion de correo", System.Text.Encoding.UTF8)
  correo.Subject = "Asunto de envio del correo"

  correo.Body = TextoControlHTML
  correo.SubjectEncoding = System.Text.Encoding.UTF8
  correo.BodyEncoding = System.Text.Encoding.UTF8
  correo.IsBodyHtml = True


  Dim cliente As New SmtpClient
  cliente.Credentials = New System.Net.NetworkCredential("usuario", "contraseña")
  cliente.Host = "nombre del host"
  cliente.Port = 25

  Try
    cliente.Send(correo)
  Catch ex As Exception
    MsgBox(ex.Message, MsgBoxStyle.Exclamation)
  End Try
End Sub
Si te fijas arriva he puesto
Código:
formularioweb.RenderControl(MiHTMLTextWriter)
. Formulario web es el formulario en html que quiero enviaqr por correo. De este modo en el cuerpo del correo pueden ir tablas con datos imagenes, etc
Por ejemplo una parte de ese formulario web seria:
Código:
<body>
    <form id="formularioweb" runat="server">
     <div>
      <table>
       <tr>
        <th>
         <a>
           Hola Hola
         </a>
        </th>
       </tr>
      </table>
     </div>
    </form>
</body>
Espero que mi explicación te sirva de ayuda. Mucha suerte en tu proyecto.

Un saludo
Pinty
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:39.