View Full Version : php e mandare mail...
Sto costruendo un sito e mi interessava sapere come si fa in php a mandare una email ad un indirizzo specifico...
Sto programmando sotto linux mdk 8.2 con bluefish 0.7, apache 1.3.23 e php 4.1.2...
E' necessario attivare qualche servizio perché si riesca a mandare la mail?
Grazie mille
Soalle
Cerca "Funzioni di Mail" nell'help...
C'è spiegato come impostare il file di congifurazione di PHP e come inviare mail...
nell'help 'è scritto come inviare mail; sono andato a vedere il sito ufficiale c'è scritto di specificare la variabile SENDMAIL_PATH del file php.ini.
Il problema a questo punto è che non ho installato sendmail ma fetchmail (che dovrebbe fare cmq da server smtp) ma non so come farlo aprtire perché nel mandrake control center non appare...
Grazie ancora
Soalle
ilsensine
02-10-2002, 11:03
Da man fetchmail:
fetchmail is a mail-retrieval and forwarding utility; it fetches mail from remote mailservers and forwards it to your local (client) machine's delivery system.
Non mi sembra che possa essere usato per spedire mail...
Ok hai vinto tu... però ho installato sendmail e adesso funziona...
C'è una cosa che mi sfugge ampiamente... (ho scoperto l'acqua calda forse....:D).
Ho fatto la mia bella funzioncina che mi manda la mail ma il problema è che posso specificare qualsiasi mittente ???? :confused:
Non è un po' pericoloso.... oppure c'è qualcosa che mi sfugge....
Grazie ciao
Soalle
Sembra che non sia possibile spedire mail senza un programma compatibile a riga di comando con sendmail...
Come scritto nell'help, in teoria, un wrapper (cioè un script o un eseguibile che prende gli stessi parametri di sendmail) dovrebbe essere installato anche da altri sistemi si posta...anche perchè mi sembra che sendmail sia necessario anche per inviare le notifiche di errori nella mailbox locale...
Originariamente inviato da soalle
[B]Ho fatto la mia bella funzioncina che mi manda la mail ma il problema è che posso specificare qualsiasi mittente ???? :confused:
Caro mio sei un open relay :)
Devi in qualche modo bloccare gli accessi al server SMTP agli indirizzi IP diversi da 127.0.0.1...
Anche se sinceramente non conosco quali sono le impostazioni di default di sendmail...
Io l'ho sempre disattivato...ed ho usato server SMTP diversi (qmail)...
Originariamente inviato da cionci
[B]
Caro mio sei un open relay :)
Devi in qualche modo bloccare gli accessi al server SMTP agli indirizzi IP diversi da 127.0.0.1...
Anche se sinceramente non conosco quali sono le impostazioni di default di sendmail...
Io l'ho sempre disattivato...ed ho usato server SMTP diversi (qmail)...
Non capisco "open relay" intendi che ho un server smtp aperto sul mondo e qualsiasi persona lo può usare?
E se sì quali possono essere le conseguenze?
E poi c'entra qualcosa con il fatto che io posso spedire qualsiasi mail con l'indirizzo del mittente qualunque?
Soalle
Sì...open relay è quello che hai detto tu...
Il fatto che tu possa mandare con qualsiasi indirizzo sorgente non è un problema se fai in modo che solo l'indirizzo 127.0.0.1 possa accedere al server SMTP...
Mi sembra che ci sia qualche file di configurazione da modificare...
Riavvio, guardo e ti faccio sapere...
Ho trovato questo file di configurazione: /etc/mail/access:
# Check the /usr/share/doc/sendmail-8.12.1/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail-8.12.1/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
Ma non capisco minimamente una cosa:
Se io blocco l'accesso all'SMTP in modo che vi possa accedere solo da locale significa che non posso più mandare email con indirizzo mittente qualunque?
Soalle
Hell-VoyAgeR
02-10-2002, 14:26
allora....
e' "quasi" ovvio che si possa mettere un mittente qualsiasi, potresti voler spedire il messaggio come "
[email protected]"
se vuoi usare un tool o meglio una classe un po' piu' versatile allora guardati http://www.phpguru.org/downloads/html.mime.mail/htmlMimeMail-2.5.1.tar.gz
L'ho usata in un paio di siti e vengono fuori dei risultati eccelsi (e soprattutto ti permette di usare l'smtp che vuoi anche senza installare sendmail)
Originariamente inviato da soalle
[B]Ho trovato questo file di configurazione: /etc/mail/access:
# Check the /usr/share/doc/sendmail-8.12.1/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail-8.12.1/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
Ma non capisco minimamente una cosa:
Se io blocco l'accesso all'SMTP in modo che vi possa accedere solo da locale significa che non posso più mandare email con indirizzo mittente qualunque?
No...significa che dall'esterno non si possono connettere a quella porta per inviare mail tramite il tuo server SMTP...
Il file è quello...e le impostazioni di default permettono il relay solo all'indirizzo di loopback e al localhost...quindi non sei un open relay...
Proverò la classe da te consigliata...
Ma non può essere un problema di sicurezza quello di poter mandare una email da qualsiasi indirizzo mittente... in teoria si possono combinare dei bei casini....
Ciao
Soalle
Hell-VoyAgeR
03-10-2002, 11:31
in teoria si possono fare casini... ma neanche tanti
gli headers di tracciamento ci sono sempre
ma dopotutto puoi mettere un mittente qualsiasi anche nel programma di posta che utilizzi, non vedo perche' non dovrebbe essere lo stesso per uno script su server
OCCHIO!
non usare questo sistema per una pagina di "invio mail" generica dove puoi inserire sia l'indirizzo mittente sia il destinatario...
altrimenti una blacklist per spam non te la toglierebbe nessuno
sono un ragazzo coscienzioso... :D
ma mi spieghi cosa significa una "blacklist per spam" (ho una vaga idea...)
Ciao
Soalle
Hell-VoyAgeR
03-10-2002, 11:41
Originariamente inviato da soalle
[B]sono un ragazzo coscienzioso... :D
ma mi spieghi cosa significa una "blacklist per spam" (ho una vaga idea...)
Ciao
Soalle
allora... esempio pratico...
tu fai una paginetta dalla quale si puo' inviare posta elettronica inserendo mittente e destinatario a piacere (e ovviamente anche il testo)
lo spammer di turno trova questa paginetta e, dopo essersi ripreso dal coccolone per una scoperta simile, inizia a spedire a destra e a manca email del tipo "allarga il tuo BENE" oppure "fai soldi con internet, collegati in MADAGASCAR"
qualcuno si rompe le scatole di ricevere tutta questa immondizia e segnala il messaggio a chi di dovere
nel messaggio c'e' l'ip del server dal quale partono, che viene inserito nelle liste degli open-relays, e quindi nella LISTA DEGLI INFAMI™.
Il risultato e' che nessun server di posta accettera' mai piu' mail da quel server.
Ti lascio immaginare le conseguenze!:D
Quando arrivano mail non richieste ci si può rivolgere ad alcuni siti che tengono una lista dei server SMTP che fanno spam...
Molti server SMTP si connettono a questi siti al momento della ricezione di una email e verificano che ils erver SMTP che l'ha inviata non sia nella blacklist...
Se è nella blacklista la mail viene rifiutata : http://www.mailabuse.org/
uhhmmmm abbastanza chiaro... :) ma....
mi sfugge chi è la persona/istituzione che si occupa di segnalare ai server di rifiutare email dal dato server.
Grazie ancora
Soalle
Lo puoi fare anche te...
Però devi dimostrare che il server è un open ralay...
Io l'ho fatto una volta...
Tra l'altro una volta ci hanno messo anche un mio server :)
Hell-VoyAgeR
03-10-2002, 12:09
Originariamente inviato da cionci
[B]Lo puoi fare anche te...
Però devi dimostrare che il server è un open ralay...
Io l'ho fatto una volta...
Tra l'altro una volta ci hanno messo anche un mio server :)
E' successo anche ad un mio collega... solo che il server in questione risiedeva su una HDSL tariffata a traffico, l'hanno usato per 3 giorni come openrelay... immagina la bolletta! :D
ti hanno messo un server tuo nella black list??? complimenti....
ma scusate... sono un po' profano.... ho due domande:
1. come fanno a comunicare a tutti i server (smtp o pop3 di arrivo???) mondiali di scartare le mail provenienti da un dato ip?
2. che cosa tutela un server smtp di libero, inwind, etc... da essere usato per mandare spamming?
Se mi spiegate bene come funziona tutta la faccenda ve ne sarei grato.... più che altro per conoscenza personale/ curiosità/ impara l'arte e mettila da parte :)
Hell-VoyAgeR
03-10-2002, 14:35
Originariamente inviato da soalle
[B]ti hanno messo un server tuo nella black list??? complimenti....
ma scusate... sono un po' profano.... ho due domande:
1. come fanno a comunicare a tutti i server (smtp o pop3 di arrivo???) mondiali di scartare le mail provenienti da un dato ip?
2. che cosa tutela un server smtp di libero, inwind, etc... da essere usato per mandare spamming?
Se mi spiegate bene come funziona tutta la faccenda ve ne sarei grato.... più che altro per conoscenza personale/ curiosità/ impara l'arte e mettila da parte :)
1. ci sono appositi servizi di liste dei server blacklistati
2. non li tutela nessuno, infatti libero e' molto sfruttato per fare mailing selvaggio, essendo un grosso provider diciamo che ha un trattamento "di favore" rispetto al piccolo server.
Originariamente inviato da Hell-VoyAgeR
[B]E' successo anche ad un mio collega... solo che il server in questione risiedeva su una HDSL tariffata a traffico, l'hanno usato per 3 giorni come openrelay... immagina la bolletta! :D
Mamma mia...
soalle : il capo aveva disabilitato per sbaglio l'opzione per la protezione dallo spam :)
disabilitato l'opzione per lo spamming significa che sei andato per un po' di tempo in open relay? O c'è qualche altra curiosa opzione proprio per lo spamming che non conosco...??
Ciaociao
Soalle
Originariamente inviato da soalle
[B]disabilitato l'opzione per lo spamming significa che sei andato per un po' di tempo in open relay? O c'è qualche altra curiosa opzione proprio per lo spamming che non conosco...??
Sì...sono andato per una settimana come open relay...
Ci sono diverse protezioni possibili per evitare che facciano spam con il tuo SMTP :
- controllo a livello di indirizzo IP...tipo quello del file che hai postato, ma non sempre è applicabile (ad esempio se il server deve essere usato anche da collegamenti dial-up)
- cotrollo dell'indirizzo sorgente...si permette di spedire mail solo usando nel from indirizzi email esistenti sul server POP3
- autentificazione SMTP...questo secondo me è il migliore... Prima di poter inviare bisogna autentificarsi con uno username e password (solitamente gli stessi del server POP3)
- autorizzazione SMTP solo dopo l'autentificazione POP3... In pratica ogni volta che un utente si autentifica si mette il suo IP in una lista di utenti autorizzati ad inviare posta con il server SMTP... Fissato un timeout (ad esempio 2 minuti) si toglie l'ip da questa lista...
- inserire dei ritardi incrementali per ogni indirizzo di destinazione, CC e BCC... Ad esempio fino a 10 destinatari non inserisco ritardi... Da 11 in poi inserisco 2 secondo per ogni indirizzo successivo... Così diventa impossibile fare spamming...
Ovviamente si possono utilizzare anche combinazioni di questi metodi...
Grazie adesso è molto chiaro...
Ciaociao Soalle
scusa... altra domandina quasi correlata. Io uso una connessione X per connettermi a Internet.
Quando mando email tramite libero (smtp: mail.libero.it) usando la connessione X non me le accetta (tranne se hanno come destinatario un email di libero).
Allora quando devo mandare emal mi devo connettere per forze tramite la connessione di libero...
Ho provato a specificare come smtp mail.inwind.it e la prima mail me l'ha mandata le successive no...
Come faccio a mandare email con libero utilizzando la connessione X?
Grazie ancora
Soalle
Hell-VoyAgeR
04-10-2002, 12:09
Originariamente inviato da soalle
[B]scusa... altra domandina quasi correlata. Io uso una connessione X per connettermi a Internet.
Quando mando email tramite libero (smtp: mail.libero.it) usando la connessione X non me le accetta (tranne se hanno come destinatario un email di libero).
Allora quando devo mandare emal mi devo connettere per forze tramite la connessione di libero...
Ho provato a specificare come smtp mail.inwind.it e la prima mail me l'ha mandata le successive no...
Come faccio a mandare email con libero utilizzando la connessione X?
Grazie ancora
Soalle
non mi risulta che libero usi l'autenticazione smtp, qundi l'unico modo per usare libero come smtp per indirizzi non @libero.it e' usare la connessione di libero
altrimenti devi usare il server smtp del provider X che ti fornisce connettivita'
P.S. hai un pvt
Solitamente, dico solitamente perchè non è sempre così, viene utilizzato il primo tipo di protezione (quindi il server SMTP ti fa inviare email solo sei hai un IP appartenente al range di IP del provider del server stesso)...
Cioè se sei connesso con un provider X puoi inviare mail solo tramite il server SMTP del provider X...anche avendo un FROM non appartenente a quel provider...
Quelli che ho verificato io sono tin.it, clubnet, inwind e activenetwork...e tutti funzionano in questo modo...
uhhmmmm e qualcuno non è che riuscirebbe a dirmi un smtp dal quale riesco mandare posta senza connettermi con libero???
In realtà preferirei non usare l'smtp della connessione X.... ;)
Grazie
Soalle
PS: forse sto chiedendo oro....:D
PPS: Hell-VoyAgeR hai risposta a PVT
Hell-VoyAgeR
04-10-2002, 12:28
Originariamente inviato da soalle
[B]uhhmmmm e qualcuno non è che riuscirebbe a dirmi un smtp dal quale riesco mandare posta senza connettermi con libero???
In realtà preferirei non usare l'smtp della connessione X.... ;)
Grazie
Soalle
PS: forse sto chiedendo oro....:D
PPS: Hell-VoyAgeR hai risposta a PVT
non penso esistano ancora open relays (se non per sbaglio), una soluzione sarebbe cercare un relay che supporti l'autenticazione...
visto pvt
Originariamente inviato da soalle
[B]uhhmmmm e qualcuno non è che riuscirebbe a dirmi un smtp dal quale riesco mandare posta senza connettermi con libero???
Hai un PVT...
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.