Pagina 5 di 16 primaprima ... 3 4 5 6 7 15 ... ultimoultimo
Visualizzazione dei risultati da 41 a 50 su 156
  1. #41
    Come mai ci siano tutti quei php.ini non lo so. Però ti posso dire che ce n'è anche un altro nella cartella php: se non sbaglio va modificato quello.

  2. #42
    Incredibile ma vero: ho modificato il php.ini della cartella conf_files e tutto finalmente funziona: ricevo nella cartella c:\mail il file eml.
    Pensi sia necessario modificare anche quello nella cartella php?
    (perdonami.. So di non essere ferrato!)

  3. #43
    Non so! ma non credo: se funziona!

  4. #44
    ok!! lascio così l'unica cosa importante tanto è che qui in locale possa fare le prove del sito e che quando lo caricherò sullo spazio web funzioni!
    Se tutto questo funzionerà non resterà che ringraziare chi ha fatto questo programmino...perchè è veramente l'uovo di colombo per la semplicità di utilizzo.. altro che mail server

  5. #45
    Originariamente inviato da TNTmarco
    Se tutto questo funzionerà non resterà che ringraziare chi ha fatto questo programmino...perchè è veramente l'uovo di colombo per la semplicità di utilizzo.. altro che mail server
    Prego, non c'è di che!

    Tuttavia vorrei ricordare che serve solo per delle prove locali (come EasyPHP, daltronde...) e non spedisce effettivamente le email come un server SMTP.

    Cmq non so perché ci sono tanti php.ini (credo che siano degli esempi), ma l'UNICO che serve è quello nella cartella PHP.
    Infatti se premente il destro sull'icona di EasyPHP a server spento, potrete selezionare nel menu "configura" il php.ini, che è quello che si trova nella cartella PHP di EasyPHP...

    Cmq sono inpostazioni di EasyPHP. Quando installi PHP su un vero server lo devi mettere in una cartella presente nel PATH. Io infatti lo mettevo in c:\WINDOWS\ (che è sicuramente nel path...)
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  6. #46

    Re: [pillola] sendmail fatto in casa...

    Originariamente inviato da NoR
    Spero di poter omaggiare questo tread col titolo di pillola, altimenti cancellatelo...

    Mi sono imbattuto spesso in questo problema: ho EasyPHP o analogo per provare in locale un sito web, ma visto che sono sotto Windows, come provo le email? Il sendmail non esiste.

    Ho cercato su questo forum e ho trovato soluzioni estremamente macchinose circa l'uso di Mercury Mail (che tuttavia essendo un server SMTP, la mail le manda davvero...).

    Io cercavo qualcosa di più semplice, un programmino che preso lo standard input, generasse un file .eml visibile anche con il buon vecchio Outlook...

    Ed ecco il risultato, scritto in C++:
    codice:
    #include <stdio.h>
    #include <string.h>
    
    bool isFileExist(char* nomefile) {
    	FILE *stream;
    	if ((stream=fopen(nomefile,"r"))!=NULL) {
    		return true;
    	} else {
    		return false;
    	}
    }
    
    void num2str(int num, char* str) {
    	if (num==0) strcpy(str,"0"); else strcpy(str,"");
    	while (num) {
    		switch (num % 10) {
    			case 0:
    				strcat(str,"0");
    				break;
    			case 1:
    				strcat(str,"1");
    				break;
    			case 2:
    				strcat(str,"2");
    				break;
    			case 3:
    				strcat(str,"3");
    				break;
    			case 4:
    				strcat(str,"4");
    				break;
    			case 5:
    				strcat(str,"5");
    				break;
    			case 6:
    				strcat(str,"6");
    				break;
    			case 7:
    				strcat(str,"7");
    				break;
    			case 8:
    				strcat(str,"8");
    				break;
    			case 9:
    				strcat(str,"9");
    				break;
    		}
    		num=(int) (num/10);
    	}
    	_strrev(str);
    }
    
    int main(int argc, char* argv[]) {
    	/* sendmail path file
    		Crea dei file al posto delle email. 
    		Path è il percorso assoluto della cartella dove mettere i file. Deve esistere. Se non specificato path="C:\".
    		File è il nome del file in cui inviare l'output. I file vengono automaticamente numerati.
    		 Se non specificato file="email".
    		p.e.
    			sendmail c:\mails\ mail
    			sendmail c:\mails\
    	*/
    	// Inizializzo le variabili
    	FILE *stream;
    	char buffer[81];
    	char nomefile[41];
    	char stringa[10];
    	int i=0,ch='a',j=0;
    	bool leggi=true;
    	// Inizializzo gli argomenti
    	switch (argc) {
    		case 1:
    			argv[1]="c:\\";
    		case 2:
    			argv[2]="email";
    	}
    	//Preparo il nomefile di output
    	do {
    		strcpy(nomefile,"");
    		strcat(nomefile,argv[1]);
    		strcat(nomefile,argv[2]);
    		num2str(j,stringa);
    		strcat(nomefile,stringa);
    		strcat(nomefile,".eml");
    		j++;
    	} while (isFileExist(nomefile));
    
    	//Apro il file di output
    	if ((stream=fopen(nomefile,"w"))!=NULL) {
    		while (!(((buffer[0]=='.')&&(buffer[1]=='\n'))||(ch == EOF))) {
    			// Prende massimo 80 byte alla volta
    			for(i=0;(i<79)&&((ch = getchar()) != EOF)&&(ch != '\n');i++) {
    				buffer[i] = (char) ch;
    			}
    			buffer[i++] = '\n'; // <= termine di riga
    			// Mette la riga nel file.
    			fwrite(buffer,sizeof(char),i,stream);
    		}
    		fclose(stream);
    	} else {
    		return 1;
    	}
    
    	return 0;
    }
    Il compilato (compreso di sorgente) lo trovate in http://www.sitissimo.it/sendmail.zip

    Questo sendmail genera email progressive che possono essere comodamente lette...

    L'unica modifica da effettuare nel PHP.INI è sostituire:
    codice:
        [mail function]
        ; For Win32 only.
        SMTP = localhost
        
        ; For Win32 only.
        sendmail_from = me@localhost.com
        
        ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
        ;sendmail_path =
    o similare, con
    codice:
        [mail function]
        sendmail_path = c:\mail\sendmail.exe c:\mail\
    dove "c:\mail\" è il percorso di dove avete copiato il "sendmail.exe".

    Semplice, veloce, indolore. Come piace a me!

    Spero serva.
    Ciao, ottimo programmino...
    due domande,
    1. a me i file li scrive nella cartella C:\Programmi\Apache Group\Apache come faccio a cambiare la cartella di destinazione?
    2. il messaggio si chiama sempre cemail0.eml cemail1.eml ecc... come posso cambiare il nome in messaggio_0.eml messaggio_1.eml ecc...
    3. ti segnalo questa riga: è corretta? argv[1]="c:\\"; o andrebbe argv[1]="c:\";

    io non so modificare il file compilato, potresti dirmi come si fa?

    grazie mille!
    Francesco

  7. #47

    Re: Re: [pillola] sendmail fatto in casa...

    Originariamente inviato da fmortara
    Ciao, ottimo programmino...
    due domande,
    1. a me i file li scrive nella cartella C:\Programmi\Apache Group\Apache come faccio a cambiare la cartella di destinazione?
    2. il messaggio si chiama sempre cemail0.eml cemail1.eml ecc... come posso cambiare il nome in messaggio_0.eml messaggio_1.eml ecc...
    3. ti segnalo questa riga: è corretta? argv[1]="c:\\"; o andrebbe argv[1]="c:\";

    io non so modificare il file compilato, potresti dirmi come si fa?

    grazie mille!
    Francesco
    1 e 2. Il primo parametro dell'eseguibile è proprio la directory di destinazione delle email, ed il secondo è il nome dei file di messaggio: dunque, supponendo che vuoi mettere l'eseguibile (sendmail.exe) in "c:\programmi", le email in "c:\mail" e vuoi cambiare il nome in "messaggio_0.eml" è sufficiente che nel file PHP.INI scrivi (come ho anche specificato):
    codice:
    sendmail_path = c:\programmi\sendmail.exe c:\mail\ messaggio_
    Numero progressivo ed estenzione saranno aggiunti automaticamente.
    ATTENTO AGLI SPAZI!!!

    3. No. Il codice è scritto correttamente: infatti il C++ (e anche il PHP, JAVA, e molti altri linguaggi) la sbarra rovesciata (backslash "\") viene usata nelle stringhe come delimitatore di caratteri speciali (per esempio "\n" manda accapo di una riga, "\t" è la tabulazione) e viene interpretata a seconda del carattere successivo.
    Se scrivessi "c:\napoli" verrebbe interpretato come
    c:
    apoli
    cioé come \n come ritorno a capo.
    Per ovviare a questa difficoltà si aggiungono due sbarre "\\" che vengono interpretate come una singola sbarra.
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  8. #48

    Re: Re: Re: [pillola] sendmail fatto in casa...

    Originariamente inviato da NoR
    1 e 2. Il primo parametro dell'eseguibile è proprio la directory di destinazione delle email, ed il secondo è il nome dei file di messaggio: dunque, supponendo che vuoi mettere l'eseguibile (sendmail.exe) in "c:\programmi", le email in "c:\mail" e vuoi cambiare il nome in "messaggio_0.eml" è sufficiente che nel file PHP.INI scrivi (come ho anche specificato):
    codice:
    sendmail_path = c:\programmi\sendmail.exe c:\mail\ messaggio_
    Numero progressivo ed estenzione saranno aggiunti automaticamente.
    ATTENTO AGLI SPAZI!!!

    3. No. Il codice è scritto correttamente: infatti il C++ (e anche il PHP, JAVA, e molti altri linguaggi) la sbarra rovesciata (backslash "\") viene usata nelle stringhe come delimitatore di caratteri speciali (per esempio "\n" manda accapo di una riga, "\t" è la tabulazione) e viene interpretata a seconda del carattere successivo.
    Se scrivessi "c:\napoli" verrebbe interpretato come
    c:
    apoli
    cioé come \n come ritorno a capo.
    Per ovviare a questa difficoltà si aggiungono due sbarre "\\" che vengono interpretate come una singola sbarra.
    continuo a non capire...
    codice:
    		// Inizializzo gli argomenti
    	switch (argc) {
    		case 1:
    			argv[1]="c:\\";
    		case 2:
    			argv[2]="email";
    	}
    ma io non ho messo in nessun posto il precorso che porta alla cartella di apache...

    per scrivere la mail in c:\email\msg
    come devo scrivere il php.ini?

    sendmail_path = c:\programmi\sendmail.exe c:\mail\msg\ messaggio_

    cosi va bene??

    grazie

  9. #49

    Re: Re: Re: Re: [pillola] sendmail fatto in casa...

    Originariamente inviato da fmortara
    continuo a non capire...
    codice:
    		// Inizializzo gli argomenti
    	switch (argc) {
    		case 1:
    			argv[1]="c:\\";
    		case 2:
    			argv[2]="email";
    	}
    ma io non ho messo in nessun posto il precorso che porta alla cartella di apache...

    per scrivere la mail in c:\email\msg
    come devo scrivere il php.ini?

    sendmail_path = c:\programmi\sendmail.exe c:\mail\msg\ messaggio_

    cosi va bene??

    grazie
    Si! così va bene: in questo modo le email verranno messe in "c:\mail\msg\" e si chiameranno messaggio_0.eml, messaggio_1.eml, ...

    Per quanto riguarda quello switch, serve per specificare dei parametri di default, nel caso non vengano specificati da riga di comando.

    Cmq fai un po' di tentativi e vedrai che non sarà difficile...
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  10. #50
    risolto!

    avevo scritto:
    sendmail_path = c:\programmi\sendmail.exe c;\mail\msg\ messaggio_

    e non
    sendmail_path = c:\programmi\sendmail.exe c:\mail\msg\ messaggio_



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.