settingsLogin | Registersettings
Es tu primera visita? Te invitamos a visitar nuestra sección de preguntas frecuentes FAQ!
x
Show Menu

Envio de correos massivo con script Powershell

0 votos
Hola, tengo un script que cada tarde mira en una carpeta donde hay unos pdfs y los envia por correo. La direccion de correo del destinatario va incluida en el nombre del fichero y la del remitente para todos es la misma que se la introduzco yo en el script. El script extrae la direccion del remitente del nombre de ese fichero y genera el correo con este fichero adjunto. El problema viene cuando nos encontramos que hay correos que no llegan a su destinatario y no recibimos el tipico correo del outlook indicando que no se ha podido entregar ese correo pues porque la direccion no existe o por el motivo que sea.

En cambio si envio ese fichero de forma manual des de el outlook, des de la misma direccion de remitente a la misma direccion de destinatario que utiliza el script, entonces si recibo el correo que me avisa del motivo por el cual no se ha entregado ese correo.

Utilizo la siguiente linia de codigo par que me notifique que el correo no se ha enviado: $msg.DeliveryNotificationOptions = "OnFailure" , pero como que si que se envian el problema es que no recibo el correo de retorno de no entregado.

El caso es que el mismo proceso de forma manual si lo hace bien des de el outlook pero automatizado con el script no recibo el correo de error al buzon del remitente. Alguien sabria decirme como puedo solucionar este problema? Enviamos mas de 100 correos a clientes cada vez que ejecutamos el script, el log me muestra que ha sido enviado pero realmente no le ha llegado el correo. He añadido faltas de ortografia a la direccion de correo, el script envia el correo pero no recibo el tipico correo de "Mail Deliveru Subsystem" o el que tenga que recibir cuando no llega al destinatario

 

Agradezco cualquier idea

Gracias
preguntado por grifax21 (162 puntos)   May 9, 2013

2 Respuestas

0 votos
Hola,

Tienes forma de escribir un "from: administrator@tudominio.com" por ejemplo?

Es posible que al no tener un remitente la notifiación NDR nunca llegue.

Saludos.
respondido por djcmtk (926 puntos)   May 9, 2013
Si el script lleva la siguiente linia $msg.From = "nombre@micorreo.com" , lo que no entiendo es porque si se envian unos 100 correos hay siempre dos o tres correos que siendo la cuenta del destinatario correcta, no les llega y no devuelve el mensaje de correo no entregado?
0 votos
Puedes colocar el script completo para analizar. Saludos
respondido por csuarez (17 puntos)   May 10, 2013
Este es el script, lo raro es que funciona casi perfecto pero por algun motivo con algunos correos que son correctos falla (Copio solo la parte que genera el correo):

$smtpserver = "192.168.0.31"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
#Configuramos un nuvo fichero adjunto
      $msg = new-object Net.Mail.MailMessage
      $msg.From = "correo@midominio.com"
      $msg.Body = "Adjuntamos factura ORIGINAL."
      $msg.Body += "`n`nPara cualquier consulta, no dude en ponerse en contacto con nosotros."
      $msg.Body += "`n`nAtentamente,"
      $msg.Body += "`n`nAqui va la direccion fisicade nuestra empresa `nTel: XXX XX XX XX - Fax: XXX XX XX XX"
      $msg.DeliveryNotificationOptions = "OnFailure"
      $correu = ""
      $nouNom = "Factura_"
      #echo $fitxer.Name.Length
      #Recuperamos la direccion del Correo
      while(($fitxer.Name[$posActual] -ne "_") -or ($arrobaTrobada -eq 0)){
        $correu += $fitxer.Name[$posActual]
        $posActual = $posActual + 1
        if($fitxer.Name[$posActual] -eq "@"){
          $arrobaTrobada = 1
        }
      }
...