E' sufficiente uno script che recuperi l'ip da uno dei tanti siti che ti restituiscono quest'informazione e poi schedularlo.
Questo è un esempio in powershell.
codice:
$wc = New-Object net.webclient
$IP = $wc.downloadstring("http://checkip.dyndns.com") -replace "[^\d\.]"
$utente = "tuo_account@gmail.com"
$password = "tua_password"
$mittente = "tuo_account@gmail.com"
$destinatario = "tuo_account@gmail.com"
$oggetto = "Indirizzo ip: $IP"
$testo = "Indirizzo ip aggiornato al " + (get-Date).tostring("dd/MM/yyyy hh:mm:ss") + ": $IP"
$SMTPServer = "smtp.gmail.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($utente, $password);
$SMTPClient.Send($mittente, $destinatario, $oggetto, $testo)
L'ho testato sul mio account di gmail. Modifica eventualmente l'smtp, la relativa porta e ovviamente i dati dell'account.
Una volta adattati i parametri esegui lo script e verifica che la mail arrivi a destinazione. Se tutto funziona salva il file con estensione ps1 (es. mail.ps1).
Non ti resta che schedulare lo script dal prompt dei comandi:
codice:
schtasks /create /tn "inviomail" /tr "powershell.exe -noprofile -executionpolicy remotesigned -file \"C:\path_completo\mail.ps1\"" /ru nome_utente /rp password_utente /sc minute /mo 2 /sd 22/08/2010 /st 23:45:00
Qui trovi tutti le informazioni a riguardo
http://ss64.com/nt/schtasks.html
Io ho messo 2 minuti tra un invio e l'altro giusto per provare. Tu usa un intervallo ragionevole.
Per eliminare il task
schtasks /delete /tn "inviomail" /f