tagger tag windows command-line batch-file email-client

windows - tag - enviando correo desde el archivo Batch



tag folders (8)

Hay varios métodos para manejar este problema.

Mi consejo es usar la potente aplicación de consola de Windows Windows SendEmail .

sendEmail.exe -f [email protected] -o message-file=body.txt -u subject message -t [email protected] -a attachment.zip -s smtp.gmail.com:446 -xu gmail.login -xp gmail.password

Tenemos un script para respaldar archivos. Una vez finalizada la operación de copia de seguridad, nos gustaría enviar un informe como notificación por correo electrónico a algunas de nuestras direcciones de correo electrónico.

¿Como se puede hacer esto?


La forma más sencilla es usar una aplicación de terceros como se menciona por otros

Si esa no es una opción, escribí una utilidad simple de sendmail usando vbscript y CDO, que llamé desde un script por lotes

Vea los ejemplos aquí http://www.paulsadowski.com/WSH/cdo.htm


También puede usar un script de Power Shell:

$smtp = new-object Net.Mail.SmtpClient("mail.example.com") if( $Env:SmtpUseCredentials -eq "true" ) { $credentials = new-object Net.NetworkCredential("username","password") $smtp.Credentials = $credentials } $objMailMessage = New-Object System.Net.Mail.MailMessage $objMailMessage.From = "[email protected]" $objMailMessage.To.Add("[email protected]") $objMailMessage.Subject = "eMail subject Notification" $objMailMessage.Body = "Hello world!" $smtp.send($objMailMessage)


También puedes usar sendmail . Lo estoy usando en este gancho de subversión para enviar notificaciones por correo electrónico: gancho post-commit


Usamos blat para hacer esto todo el tiempo en nuestro entorno. Lo uso también para conectarme a Gmail con Stunnel . Aquí están los parámetros para enviar un archivo

blat -to [email protected] -server smtp.example.com -f [email protected] -subject "subject" -body "body" -attach c:/temp/file.txt

O puedes poner ese archivo como el cuerpo

blat c:/temp/file.txt -to [email protected] -server smtp.example.com -f [email protected] -subject "subject"




PowerShell viene con un comando integrado para ello . Entonces ejecutando directamente desde un archivo .bat :

powershell -ExecutionPolicy ByPass -Command Send-MailMessage ^ -SmtpServer server.address.name ^ -To [email protected] ^ -From [email protected] ^ -Subject Testing ^ -Body 123

NB -ExecutionPolicy ByPass solo es necesario si no ha configurado permisos para ejecutar PS desde CMD

También para aquellos que buscan llamar desde dentro de powershell, soltar todo antes de -Command [inclusive], y ` será su personaje de escape (not ^ )