non invio mail da locale

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
ciao!ho problemi col mio script per l'invio mail.i dati vengono presi da un form:
codice PHP:

if (isset($_POST['a']))
$dest = $_POST['a'];
else if(isset($_POST['cc']))
$dest = $_POST['cc'];

$obj = $_POST['obj'];
$msg = $_POST['msg'];
$from = $_POST['from'];
$data = date('r');

$mail=<<<MAIL
--asefawsd121213
content-type:text/plain

{$msg}

--asefawsd121213--

MAIL;

$headers=<<<HD
from:{$from}
date: {$data}
content-type: multipart/mixed;
boundary="asefawsd121213"
MIME-Version:1.0
x-priority:2

HD;



if (mail ($dest,$obj,$mail,$headers))
echo "inviato";
else
echo "non inviato";


l'errore è:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()

sono in locale
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
apri php.ini e inserisci i dati di server SMTP e email, ad esempio:
PHP:
[mail function]
; For Win32 only.
SMTP = mail.libero.it
smtp_port = 25

; For Win32 only.
sendmail_from = [email protected]
poi riavvia Apache e riprova
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
invece di modificare php.ini puoi usare la classe phpmailer

PHP:
<?
require_once("class.phpmailer.php");//richiamo la classe
$mail = new PHPMailer();//creo un oggetto PHPmailer e setto le cariabile
$mail->IsSMTP();  // attiva l'invio tramiteSMTP
$mail->Host     = "smtp.serverposta.it"; // indirizzo smtp posta in uscita
//ecc......

sempre se il tuo server in uscita accetti
 

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
eliox nel php.ini ho messo out.alice.it e mi da questo:
Warning: mail() [function.mail]: SMTP server response: 553 <administrator> Invalid mail address, must have a domain part in ...

alice è la mia linea,però (non so se c'entra) non mando email direttamente dal pc,uso caselle online tipo gmail o yahoo.
nel commento del php.ini c'è scritto for win32 only.io ho w7 a 64 bit.cambia qualcosa?
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
non è che hai indicato il server smtp dove invece andava inserita la mail?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dimenticavo, a parziele correzione dela mia risposta all'utilizzo della classe phpmailler:
necessita il file class.smtp.php.

si peuò trovare in internet,
ma se a qualcuno serve lo posto.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
in locale faccio così
PHP:
<?php
//.....
		require "phpmailler/class.phpmailer.php";//richiamo la classe
		$Emailmessaggio = new PHPmailer();
		//e la instanzio
		$Emailmessaggio->SetLanguage('it','language/'); //messo italiano, ma la scelta è vasta
		//per inviare da locale *** INIZIO*****
		$Emailmessaggio->IsSMTP();                                   // send via SMTP
		$Emailmessaggio->Host     = "smtp.pinco_pallo.it"; // SMTP servers
		//se guardi su otlook (o simile) ricavi il tuo smtp della psta in uscita
		$Emailmessaggio->SMTPAuth = true;     //SMTP autentificazione
		$Emailmessaggio->Username = "il_tuo_user";  // SMTP username
		$Emailmessaggio->Password = "xYz"; // SMTP password
		//per inviare da locale *** FINE*****
		$Emailmessaggio->IsHTML(true); // invio l'email in formato HTML
		$Emailmessaggio->FromName= $nome;
		$Emailmessaggio->From=$email_mittente;
		$Emailmessaggio->AddAddress($destinatario);
		$Emailmessaggio->Subject=$oggetto;
		$Emailmessaggio->Body=$invio_il_testo;
		//----invio l'email-------------------------------------------
		if(!$Emailmessaggio->Send()){ //errore di trasmissione
  			$messaggio_OK_KO="<h2>ERRORE DI TRASMISSIONE, riprova più tardi</h2>";
		}else{ //invio avvenuto
  			$messaggio_OK_KO="<h1>EMAIL CORRETTAMENTE INVIATA</h1>";
		}//fine if-else invio
}//fine if letto submit
//........
?>
mentre in remoto commento le parte smtp
PHP:
<?php
//.....
		require "phpmailler/class.phpmailer.php";//richiamo la classe
		$Emailmessaggio = new PHPmailer();
		//e la instanzio
		$Emailmessaggio->SetLanguage('it','language/'); //messo italiano, ma la scelta è vasta
		//per inviare da locale *** INIZIO*****
		/*
		$Emailmessaggio->IsSMTP();                                   // send via SMTP
		$Emailmessaggio->Host     = "smtp.pinco_pallo.it"; // SMTP servers
		//se guardi su otlook (o simile) ricavi il tuo smtp della psta in uscita
		$Emailmessaggio->SMTPAuth = true;     //SMTP authenticatione
		$Emailmessaggio->Username = "il_tuo_user";  // SMTP username
		$Emailmessaggio->Password = "xYz"; // SMTP password
		//per inviare da locale *** FINE*****
		*/
		$Emailmessaggio->IsHTML(true); // invio l'email in formato HTML
		$Emailmessaggio->FromName= $nome;
		$Emailmessaggio->From=$email_mittente;
		$Emailmessaggio->AddAddress($destinatario);
		$Emailmessaggio->Subject=$oggetto;
		$Emailmessaggio->Body=$invio_il_testo;
		//----invio l'email-------------------------------------------
		if(!$Emailmessaggio->Send()){ //errore di trasmissione
  			$messaggio_OK_KO="<h2>ERRORE DI TRASMISSIONE, riprova più tardi</h2>";
		}else{ //invio avvenuto
  			$messaggio_OK_KO="<h1>EMAIL CORRETTAMENTE INVIATA</h1>";
		}//fine if-else invio
}//fine if letto submit
//........
?>
credo (ma non sono sicuro) che in remoto sul tuo sito non ci voglia l'smtp (al massimo prova)

p.s.
nota per alex
se su libero ci vuole l'autentificazione guarda le righe relative all'smtp alle righe

->SMTPAuth = true; //SMTP autentificazione
->Username = "il_tuo_user"; // SMTP username
->Password = "la_tua_pass"; // SMTP password
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
@borgo: Ma infatti il problema non è come effettuare l'autenticazione. È che io sfrutto i server SMTP senza autenticazione perché non mi va di registrarmi solo per avere le credenziali. La scelta migliore è usare un hosting che ti fornisce anche il server SMTP, come Netsons (messaggio subliminale :D).
 

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
borgo grazie per avermi postato lo script intero. però ti chiedo, usa i dati smtp del php.ini? perchè se cosi fosse siamo punto e a capo. con xp usavo argosoft giusto per i test..
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
no, uso i dati del mio account di posta.
non so se usi outlook o simile, ma se vai su gli account strumenti->proprietà->server vedi quali sono i dati del tuo account di posta in uscita.
nel mio caso l'account posta in uscita è smtp.fastweb.it, il tuo sarà quello che utilizzi (alice, tiscali...), inoltre trovi anche le password
 
Discussioni simili
Autore Titolo Forum Risposte Data
E [Javascript] Messaggio di avvenuto invio mail non visualizzato Javascript 1
asevenx link cliccabile che non funziona con invio mail PHP 1
SolidSnake4 invio mail html con php non va PHP 6
M il loop per l'invio mail con CDOSYS ad un tratto non funziona più Classic ASP 1
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
ANDREA20 [PHP] Non riesco ad impostare reset password invio via email PHP 6
asevenx [PHP] Errore tasto submit per invio dati non funziona PHP 5
P invio form non corretto dopo controllo dati PHP 8
P Non capisco se invio il socket PHP 2
Shyson Se invio form e c'è errore, form non ritorna a video PHP 0
1 invio col form non riuscito PHP 11
K modulo invio mai:l non riesco ad integrare captcha PHP 18
J Invio email e il browser non interpreta l'html... Windows e Software 2
felino Mac OS e Client Mail: Stato non in linea Mac e Software 1
I nome utente non esiste nel database PHP 1
M Drag and Drop non capisco le sequenze... Javascript 1
L Suggerimento Pagespeed per non vedenti HTML e CSS 0
F comando di inclusione file audio in I-Pad non funziona HTML e CSS 1
M Immagini non usate WordPress 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
G Numero zero null non deve visualizzare nulla PHP 0
F Paypal _xclick IPN non risponde PHP 1
R Variabile non risconosciuta dentro una funzione PHP 1
C ACCESS Aprire maschera se valore non presente in una combo MS Access 7
E Alert non viene mostrato PHP 1
felino Hardisk WD SATA 1TB 3.5" non si avvia! Hardware 4
K Scrip non funzionante Javascript 1
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
zorro CREATE TABLE non funziona PHP 6
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
Sevenjeak Php8 non carica estenzioni PHP 0
R query DELETE non cancella i record PHP 1
otto9due Input text: accetta solo numeri e non può essere vuoto. Javascript 9
G Non vedo frecce su forme Photoshop 2
G Il mio sito dopo aver abilitato l'ssl non visualizza le immagini con indirizzi senza ssl HTML e CSS 0
P jquery refresh div non funziona Javascript 0
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
S Certificato SSL non funzionante Domini 0
zorro modulo di registrazione: funziona ma non sempre PHP 2
D Form contatti non funzionante HTML e CSS 0
MarcoGrazia Trovare record nel database partendo da id non sequenziali PHP 6
M Non ho rinnovato il mio sito su Aruba... Domini 1
T IP INFO NON FUNZIONA PHP 0
Shyson Google search non trova il mio sito SEO e Posizionamento 1
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
P Data scraping in PHP non funziona PHP 4
otto9due $_FILE non passa i dati dal form PHP 1
keyascii Non è mai troppo tardi Presentati al Forum 0
N dati tabella non presi PHP 1
P Pagina modifica record che non funziona PHP 0

Discussioni simili