Como enviar mensagens de um arquivo em lotes do Windows

5

Eu quero enviar um email de um arquivo de lote do Windows. Aqui está o meu código:

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 

Aqui está o erro que recebo:

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

Você tem alguma ideia sobre como resolver o problema?

Estou usando o Blat para enviar os e-mails

    
por user2480100 23.07.2014 / 14:13

2 respostas

2

Eu acho que você pode fazer isso facilmente através do Powershell.

Siga estes passos:

Etapa 1 - Abrir CMD (Executar como administrador)
Passo 2 - Digite Powershell (Hit Enter)
Passo 3 - Copie o código abaixo no bloco de notas primeiro

$EmailFrom = “Your email Address” $EmailTo = “Recipients email Address”
$Subject = “The subject of your email”
$Body = “This is just a test mail to verify the working of CMD”
$SMTPServer = “smtp.gmail.com”
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential(“username”, “password”);
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

Etapa 4 - altere seu endereço de e-mail para o e-mail do remetente
Etapa 5 - Alterar endereços de email de destinatários
Passo 6 - Substituir assunto e texto do corpo de acordo com sua necessidade
Passo 7 - Substitua "username" e "password" pelas suas credenciais.
Passo 8 - Copie o código acima e cole no Windows Powershell.

Isso certamente funcionará para o gmail. Para outros, você pode tentar alterar o servidor SMTP e os detalhes do cliente.

    
por 24.07.2014 / 06:39
1

Como outros já adivinharam, isso ocorre porque o Gmail exige conexão TLS / SSL e, pelo que vejo, o Blat não suporta isso.

Trabalhei com o stunnel que funciona muito bem. Ele configura um túnel TLS / SSL (para o SMTP do Gmail neste caso), que aplicativos não habilitados para TLS / SSL podem usar para enviar e-mails. Eu também o uso para enviar por e-mail (via gmail) um par de outros aplicativos que não suportam TLS / SSL. TBH Não me lembro da configuração, mas foi bastante simples.

Você ainda usa suas credenciais do Gmail, mas substitui seu stunnel server (localhost? - Eu o configurei em seu próprio servidor Linux e use seu IP, mas ele é multi-plataforma, então acho que ele poderia usar localhost no Windows).

    
por 15.01.2015 / 04:20