[How-to] Come ricevere l'SMS di notifica di email inoltrando a una casella @tre.it
In teoria la soluzione c'è per ricevere gli sms di notifica.
Basta partire dall'inizio e cercare di trovare le soluzioni passo passo.
Sappiamo che l'sms di notifica arriva solo se la mail è indirizzata direttamente alla casella di posta tre, e non arriva se viene inoltrata da altro indirizzo mail (perchè la mail di tre è nel campo ccn).
Soluzione?
Intercettare la mail e cambiare il campo to in quello della casella mail di tre, ma come fare?
Spiego come ho risolto io:
Cosa serve:
1-Un hosting a pagamento o un hosting free che permetta il piping delle mail a uno script (che chiameremo inoltromail.php)
2-Naturalmente la casella di posta tre (profilo avanzato della segreteria)
Il mio utilizzo della mail:
ho una casella primaria di posta gmail e voglio utilizzare la casella tre per farmi arrivare le notifiche
Settaggi dell'hosting:
Ho creato un sottodominio tre.ilmiodominio.it
Dal cpanel in default address ho creato la regola che tutte le mail che arrivano a @tre.ilmiodominio.it vengano indirizzate allo script inoltromail.php
Ecco lo script inoltromail.php:
Codice:
#!/usr/bin/php -q
$fd = fopen("php://stdin", "r");
$email = "";
while (!feof($fd)) {
$email .= fread($fd, 1024);
}
fclose($fd);
$lines = explode("\n", $email);
$from = "";
$subject = "";
$headers = "";
for ($i=0; $i < count($lines); $i++) {
if (preg_match("/^Subject: (.*)/", $lines[$i], $matches)) {
$subject = $matches[1];
}
if (preg_match("/^From: (.*)/", $lines[$i], $matches)) {
$from = $matches[1];
}
}
$headers = 'From:'. $from;
mail("ilmionumerotre@tre.it", $subject, "Notifica sms", $headers)
?>
La prima parte dello script legge la mail e salva il contenuto nella variabile $email
Dopodichè va alla ricerca dell'oggetto della mail (salvandolo nella variabile $subject) e del mittente della mail (salvandolo nella variabile $from)
Si crea l'header con il campo from e si manda la mail sulla casella di posta tre, con testo del messaggio (Notifica sms).
In questo modo quando mi arriva l'sms di notifica accedo alla mia casella gmail e controllo la posta.
Nello script al posto di "ilmionumerotre@tre.it" occorre inserire la reale mail ad es. "3921234567@tre.it"
Quindi si carica lo script sul server e si rende eseguibile (CHMOD 755).
Settaggi gmail:
in gmail ho creato un inoltro automatico di tutte le mail verso ilmionumerotre@tre.ilmiodominio.it
In questo modo cosa succede:
Mittente scrive a lamiaposta@gmail.it
La mail viene salvata su gmail e automaticamente inoltrata a ilmionumerotre@tre.ilmiodominio.it
L'hosting inoltra la mail allo script inoltromail.php
inoltromail.php manda una mail a ilmionumerotre@tre.it
Mi arriva la notifica sms (con solo le informazioni che voglio, ovvero mittente della mail e oggetto della mail) e io accedo a gmail per controllare il testo integrale della mail