Problema con l'invio delle mail in locale (usando quindi easy php)

  • Creatore Discussione Creatore Discussione vodka
  • Data di inizio Data di inizio

vodka

Utente Attivo
25 Giu 2010
128
0
0
Non riesco a capire come fare ad inviare una mail, la sintassi dovrebbe essere questa:
PHP:
$destinatario ="[email protected]";
$oggetto ="prova di email";
$info="questa è una prova";
mail ($destinatario, $oggetto, $info);

Come faccio in locale utilizzando quindi easyphp a poter inviare una mail?
Questi sono i parametri presenti nel file di configurazione di php :
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

a sendmail_from
gli ho assegnato un mio indirizzo di posta.

Qualè il problema?
 
ciao
un piccolo consiglio
abbandona mail() e usa la classe phpmailer, quasto per due motivi.
il primo che puoi settare piu facilmente per l'invio in locale.
il secondo ho visto che nel destinatario usi
$destinatario ="[email protected]";
ora con mail() agli indirizzi xyz@[COLOR="red"][B]libero.it[/B][/COLOR] ed altri hai moltissime probabilità che l'email non venga ricevuta
 
ciao
per prima cosa leggiti questo ottimo articolo
https://www.mrw.it/php/articoli/inviare-email-classe-phpmailer_631.html
poi ti scarichi la classe dal sito ufficiale e la cacci dentro una cartella (mi sembra che si crei quando dizippi) chiamata phpmailler dentro la cartella troverai
1 la classe class.phpmailer.php
2 una sottocartella language
se non c’è e vuoi lavorare anche in locale cerca sempre nel sito ufficiale la class.smtp.php e mettila nella cartella phpmailler

poi dove devi usarla la includi col modo classico
PHP:
include_once “phpmailler/ class.phpmailer.php”;
attento ai percorsi.

Sembra più difficile della semplice mail(), ma è solo un’impressione (es per inviare allegati è semplicissimo)

p.s.
non fare l’include della class.smtp.php ci pensa phpmailer a trovarsela
 
ok ho scaricato e messo tutto nella cartella phpmailer, ma per definire il destinatario il campo o l'oggetto come devo impostare?
 
ciao
se leggi l'articolo c'è scritto tutto, comunque

PHP:
<?php
/*
qui tutti i vari $_POST per mittente nome emeil soggetto testo
*/
require "phpmailler/class.phpmailer.php";//richiamo la classe
//io preferisco include_once
$Emailmessaggio = new PHPmailer();
//$Emailmessaggio può essere anche un altro nome es $email
//l'importante è poi usare quello che hai scritto nelle varie assegnazioni
$Emailmessaggio->SetLanguage('it','language/'); //messaggi di avvisi in italiano
//per inviare da locale o SMTP*** INIZIO*************************************************************
//o anche da remoto per un particolare smtp
$Emailmessaggio->IsSMTP();  // send via SMTP
$Emailmessaggio->Host     = "smtp.pinco.it"; // SMTP il tuo server di posta in uscita
$Emailmessaggio->SMTPAuth = true;     // turn on SMTP authentication
$Emailmessaggio->Username = "sempronio.pinco";  // SMTP il tuo username
$Emailmessaggio->Password = "123456"; // SMTP la tua password
//i valori li puoi ricavara es da outlook
//per inviare da locale o SMTP *** FINE**************************************************************
$Emailmessaggio->IsHTML(true); // invio l'email in formato HTML
$Emailmessaggio->FromName= $nome_mittente;
$Emailmessaggio->From=$email_mittente;
$Emailmessaggio->AddAddress($email_destinatario);//oppure ("mia_email@mio_dominio.it");
$Emailmessaggio->Subject=$oggetto_email;
$Emailmessaggio->Body=$testo_da_inviare;
//invio l'email
if(!$Emailmessaggio->Send()){ //errore di trasmissione
  	echo "errore di trasmissione - riprova più tardi";
}else{ //invio avvenuto
 	echo "email inviata - ti sarà risposto quanto prima";
}//fine if-else invio
//ecc....
?>
 
Questo è ciò che ho scritto:
PHP:
include_once "E:\Program Files\EasyPHP-5.3.2i\apache\phpmailer\class.phpmailer.php"; 
			$Emailmessaggio = new PHPmailer(); 
			$Emailmessaggio->SetLanguage('it','language/');
			$Emailmessaggio->IsSMTP();  // send via SMTP 
			$Emailmessaggio->Host     = "smtp.googlemail.com";
			$Emailmessaggio->SMTPAuth = true;  
			$Emailmessaggio->Username = "rocco.googlemail";
			$Emailmessaggio->Password = "123456";
			$Emailmessaggio->IsHTML(true);
			$Emailmessaggio->FromName= "rocco"; 
			$Emailmessaggio->From='[email protected]'; 
			$Emailmessaggio->AddAddress('[email protected]');
			$Emailmessaggio->Subject='Prova.';
			$Emailmessaggio->Body=stripslashes('Ciao!!!!!');
			if(!$Emailmessaggio->Send()){ //errore di trasmissione
				echo $Emailmessaggio->ErrorInfo; 

			}else{ //invio avvenuto
				echo "email inviata - ti sarà risposto quanto prima";
			}

Dove sbaglio?
questo l'errore che mi dà:
SMTP Error: Impossibile connettersi all'host SMTP. SMTP Error: Impossibile connettersi all'host SMTP.
 
Ultima modifica:
ciao
vista così la sintassi è corretta, controlla il tuo host, user e pass
occhio l'smtp deve essere quello della posta in uscita, non quello in entrata.
non so se hai alice, o tim o fastweb o qualcos'altro. non credo che smtp.googlemail.com sia l'smtp in uscita
 
ho sostituito localhost nella configurazione delle smtp e ho scritto smtp.tre.it che sarebbe il server di uscita della 3 cioè il provider ke utilizoo, ma mi dà sempre lo stesso errore, nn capisco dove sbaglio :S
 
tutto risolto email inviata :)
ho impostato nelle configurazioni smtp di php smtp.tre.it, così anke nello script, poi ho tolto l'autenticazione perchè non mi autenticava e ho risolto.
Grazie per l'aiuto :D
 
ciao
ti posso assicurare che il codice che ti ho postato funzia (ho solo cambiato user e pass)
comunque sei sicuro di aver caricato anche la classse class.smtp.php dentro la cartella phpmailer dove sta la class.phpmailer.php?
 
Ciao
Non so se usi outlook, comunque sono tutti simili
Quindi vai su outlook -> strumenti -> account…
Ti appare l’elenco degli accuun (se ne hai più d’uno)
Clicchi su uno degli account
Scegli la scheda “server”
Ci sono varie caselle

- il server della posta in arrivo è pop3
- posta in arrivo (pop3) pop3.pinco.com
- posta in uscita (smtp) smtp.pallonzi.it
server posta in arrivo
- nome account [email protected]
- passowrd ………..

quello che ti serve da mettere nei valori di phpmailer sono: smtp.pallonzi.it e la password quella con cui accedi al tuo ac di posta(che se non la sai tu, cavoli amari)
 
Ultima modifica:
niente da fare con l'autenticazione l'email non la manda e mi restituisce sempre lo stesso errore, alla password ho messo la password con cui entro nel mio account di posta e a username ho provato con smtp.googlemail.com, smtp.tre.it, e il mio indirizzo email ma mi dà sempre errore
 

Discussioni simili