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"
bmail Simplemente instala el EXE y ejecuta una línea como esta:
bmail -s myMailServer -f [email protected] -t [email protected] -a "Production Release Performed"
Blat :
blat -to [email protected] -server smtp.example.com -f [email protected] -subject "subject" -body "body"
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 ^
)