Je veux envoyer un mail à partir d'un fichier de lots Windows. Voici mon code:
blat test.log -server smtp.gmx.com -to [email protected] -f [email protected] -s "test mail" -u "[email protected]" -pw "password" -debug -log envois-mails.log -timestamp
Voici l'erreur que je reçois:
2014.07.23 14:07:26 (Wed): <<<getline<<< 535 Authentication credentials invalid
2014.07.23 14:07:26 (Wed): The SMTP server did not accept Auth PLAIN value.
Are your login userid and password correct?
2014.07.23 14:07:26 (Wed): >>>putline>>> AUTH LOGIN
2014.07.23 14:07:26 (Wed): <<<getline<<< 334 VXNlcm5hbWU6
2014.07.23 14:07:26 (Wed): >>>putline>>> b3Vzcy56YWltQGdtYWlsLmNvbQ==
2014.07.23 14:07:26 (Wed): <<<getline<<< 334 UGFzc3dvcmQ6
2014.07.23 14:07:26 (Wed): >>>putline>>> aG90bWFpbGhvdG1haWw=
2014.07.23 14:07:26 (Wed): <<<getline<<< 535 Authentication credentials invalid
2014.07.23 14:07:26 (Wed): The SMTP server did not accept Auth LOGIN PASSWD value.
2014.07.23 14:07:26 (Wed): >>>putline>>> QUIT
2014.07.23 14:07:26 (Wed): <<<getline<<< 221 gmx.com Service closing transmission channel
Avez-vous une idée de la façon de résoudre le problème?
J'utilise blat pour envoyer les emails
Comme d'autres l'ont deviné, cela est dû à Gmail nécessitant une connexion TLS/SSL et de ce que je peux voir que la Blat ne supporte pas cela.
J'ai travaillé autour de lui avec stunnel qui fonctionne vraiment bien. Il établit un tunnel TLS/SSL (sur Gmail SMTP dans ce cas) que les applications activées non-TLS/SSL peuvent utiliser pour envoyer des courriels à travers. Je l'utilise également pour envoyer un courriel (via Gmail) à partir de quelques autres applications qui ne prennent pas en charge TLS/SSL. TBH Je ne vous souviens pas de la configuration, mais c'était assez simple.
Vous utilisez toujours vos informations d'identification Gmail, mais remplacez votre serveur Stunnel (localhost? - Je l'ai configuré sur son propre serveur Linux et utilisez-le, c'est IP, mais c'est une plate-forme croisée, donc je suppose que cela pourrait utiliser localhost sur Windows).
Cela fonctionne pour moi, en utilisant des citations doubles autour des variables.
J'utilise le script de lots pour appeler PowerShell Send-MailMessage
Script de lots: send_email.bat
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -command 'E:\path\send_email.ps1
Pwershell script send_email.ps1
Send-MailMessage -From "noreply@$env:computername" -To '<[email protected]>' -Subject 'Blah Blah' -SmtpServer 'smtp.domain.com' -Attachments 'E:\path\file.log' -BODY "Blah Blah on Host: $env:computername "