2011-01-19 23 views

risposta

5

Sarà necessario utilizzare uno strumento di terze parti come ad esempio blat (http://www.blat.net/). Quindi nel tuo file batch, avresti una riga come la seguente:

blat -to [email protected] -f [email protected] -soggetto "Oggetto Email" -body "Corpo email" -server mysmtphost

0

Suggerirei di scaricare e installare un programma di invio di e-mail da riga di comando. Il migliore freeware che posso vedere è:

http://www.beyondlogic.org/solutions/cmdlinemail/cmdlinemail.htm

Da lì, salvare il .exe scaricato per una buona posizione sul disco rigido (possibilmente in c: file/BMail/programma) e aggiungere quella directory a il PERCORSO (vedi http://www.brightrev.com/how-to/windows/35-add-a-utilities-directory-to-your-pc.html?start=1 per le istruzioni).

Da allora, si potrebbe configurare un piccolo script batch come questo:

@echo off 
bmail -s smtp.example.com -p 465 -t [email protected] -f [email protected] -h -a "INSERT SUBJECT HERE" -b "INSERT MESSAGE TEXT HERE" 

Poi di inviare una e-mail a questo indirizzo e-mail, basta eseguire il file batch.

Se si desidera, è possibile modificare ad accettare i parametri in modo da poter personalizzare il messaggio: http://www.robvanderwoude.com/parameters.php.

Importante: sono abbastanza sicuro che bmail non funzionerà se il server SMTP richiede l'autenticazione, quindi dovrai trovarne uno che puoi usare. Magari installarne uno sul server senza username e password, a cui si può accedere solo da localhost?

1

È possibile abilitare il server SMTP installato di Windows. E quindi eseguire uno script di power shell:

$subject = $args[0] 

# Create from/to addresses 
$from = New-Object system.net.mail.MailAddress "[email protected]" 
$to = New-Object system.net.mail.MailAddress "[email protected]" 

# Create Message 
$message = new-object system.net.mail.MailMessage $from, $to 
$message.Subject = $subject 
$message.Body = @" 
Warning message from the Supertext Server 
"@ 

# Set SMTP Server and create SMTP Client 
$server = "209.162.190.6" 
$client = new-object system.net.mail.smtpclient $server 

# SO do it 
"Sending an e-mail message to {0} by using SMTP host {1} port {2}." -f $to.ToString(), $client.Host, $client.Port 
try { 
$client.Send($message) 
} 
catch { 
"Exception caught in CreateTestMessage: {0}" -f $Error.ToString() 
} 
Problemi correlati