problemi return path Aiuto

  • Creatore Discussione Creatore Discussione taz
  • Data di inizio Data di inizio

taz

Nuovo Utente
15 Mag 2014
7
0
0
Innanzi tutto buongiorno a tutti voi.
Sono nuovo del forum e mi rivolgo agli esperti in PHP per darmi indicazioni su un grave problema:
Ho un file .PHP che utilizzo per ricevere contatti dal modulo posto sul sito.
questo file penso abbia per default Return-Path: <[email protected]>
Ora ultimamente il mio provider non accetta più Return-Path: <[email protected]> ma vuole un return path con il mio indirizzo.
Il problema è che non sò dove questa indicazione è situata
come posso fare ?
posto quì sotto parte del codice ( quello importante , la parte del function is_valid_email_address($email) non la ho capita e penso sia lì il problema :()
PHP:
<?php 
$email_admin = 'i***@****.com'; // Put your email here.
$enable_captcha = 'no'; // Put 'yes' if you want to enable captchas on the reservation forms.
$message_ar = 'yes'; // Put 'no' for no acknowledgement of receipt message.
$subject = '*******************';
$output_error = '';
function is_valid_email_address($email){
	$qtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]';
	$dtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]';
	$atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c'.
			'\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+';
	$quoted_pair = '\\x5c[\\x00-\\x7f]';
	$domain_literal = "\\x5b($dtext|$quoted_pair)*\\x5d";
	$quoted_string = "\\x22($qtext|$quoted_pair)*\\x22";
	$domain_ref = $atom;
	$sub_domain = "($domain_ref|$domain_literal)";
	$word = "($atom|$quoted_string)";
	$domain = "$sub_domain(\\x2e$sub_domain)*";
	$local_part = "$word(\\x2e$word)*";
	$addr_spec = "$local_part\\x40$domain";
	return preg_match("!^$addr_spec$!", $email) ? 1 : 0;}
if (isset($_POST['input-nome'])) {
	$nome = stripslashes(strip_tags($_POST['input-nome']));}



if ($message_reservation != '') {
	$li_message_reservation = "<li><b>Message:</b> $message_reservation</li>";}
$message = 
	"<ul class='bullets-blue'>
		<li><b>Name:</b> $nome</li>
		.
		.
		
	</ul>";
	

if ($message_ar == 'yes') {
	$message_ar = "<h3>Thank you for your request for a reservation.</h3> $message	";}

$captcha_ok = true;
if ($enable_captcha == 'yes') {
	session_start();
	if(($_SESSION['security_code'] == $captcha) && (!empty($_SESSION['security_code'])) ) {
		unset($_SESSION['security_code']);
	} else {
		$captcha_ok = false;
	}
}
if (!$captcha_ok) {
	$output_error = 'Error: you didn\'t enter the code correctly.';
} else if (strlen(trim($_POST['input-e-mail'])) > 0) {
	if (is_valid_email_address($email)) {
		if ($message_ar != '') {
$headers = 'From: ' . $email_admin . "\r\n" . 'Reply-To: ' . $email_admin . "\r\n" . 'Content-Type: text/html; charset="utf-8"' . "\r\n". 'Return-Path: ' . $email_admin . "\r\n";	 
			if (!mail($email, $subject, $message_ar, $headers)) {
				$output_error = 'Error sending acknowledgement of receipt mail.<br/>';
			}
		}
$headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n" . 'Content-Type: text/html; charset="utf-8"' . "\r\n". 'Return-Path: ' . $email_admin . "\r\n";
		if (!mail($email_admin, $subject, $message_admin, $headers)) {
			$output_error .= 'Error sending admin mail.';
		}
	} else {
		$output_error = 'Error: your e-mail is not valid.';
	}
} else {
	$output_error = 'Error: no mail.';
}

if ($output_error == '') {
	echo("<h3>Thank you for your request for a reservation.</h3> $message ");
} else {
	echo('<span class="result-error">' . $output_error . '</span>');
}
?>
 
Ultima modifica di un moderatore:
ciao
non credo che dipenda dalla funzione, per modificare il Return-Path: <[email protected]> basta che tu all'istruzione
PHP:
<?php 
$email_admin = 'i***@****.com'; // Put your email here.
$enable_captcha = 'no'; // Put 'yes' if you want to enable captchas on the reservation forms. 
//...ecc....
?>
sostituisca al posto di i***@****.com il tuo indirizzo, es
PHP:
<?php 
$email_admin = 'info@tuo_dominio.it'; // Put your email here.
$enable_captcha = 'no'; // Put 'yes' if you want to enable captchas on the reservation forms. 
//...ecc....
?>

poi relativamente alla function is_valid_email_address($email) non fa altro che controllare che l'utente abbia imputato un indirizzo sintatticamente corretto, es [email protected] e non aa#dd.cc, comunque è un abaradan che si puo risolvere con due righe di codice

PHP:
<?php
//....
function is_valid_email_address($email){
	$email=filter_var($email, FILTER_SANITIZE_EMAIL);
	return filter_var($email, FILTER_VALIDATE_EMAIL) ? 1 : 0;
}
//....
?>
 
ciao
non credo che dipenda dalla funzione, per modificare il Return-Path: <[email protected]> basta che tu all'istruzione
PHP:
<?php 
$email_admin = 'i***@****.com'; // Put your email here.
$enable_captcha = 'no'; // Put 'yes' if you want to enable captchas on the reservation forms. 
//...ecc....
?>
sostituisca al posto di i***@****.com il tuo indirizzo, es
PHP:
<?php 
$email_admin = 'info@tuo_dominio.it'; // Put your email here.
$enable_captcha = 'no'; // Put 'yes' if you want to enable captchas on the reservation forms. 
//...ecc....
?>

poi relativamente alla function is_valid_email_address($email) non fa altro che controllare che l'utente abbia imputato un indirizzo sintatticamente corretto, es [email protected] e non aa#dd.cc, comunque è un abaradan che si puo risolvere con due righe di codice

PHP:
<?php
//....
function is_valid_email_address($email){
	$email=filter_var($email, FILTER_SANITIZE_EMAIL);
	return filter_var($email, FILTER_VALIDATE_EMAIL) ? 1 : 0;
}
//....
?>
Ciao, grazie per la risposta
Chiaramente nella riga
$email_admin = 'i***@****.com'; // Put your email here.
avevo già messo il mio indirizzo di posta
ma sulle mail che arrivano, guardando la insestazione del file di posta risulta
Return-Path: <[email protected]>
Delivered-To: [email protected]
purtroppo
e nel file non vedo posizioni dove inserire il codice return path
 
ciao
guarda che va sostituita dove ti ho detto, la variabile $email_admin viene letta dove serve

$headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n" . 'Content-Type: text/html; charset="utf-8"' . "\r\n". 'Return-Path: ' . $email_admin . "\r\n";
if (!mail($email_admin, $subject, $message_admin, $headers)) {
 
ciao
guarda che va sostituita dove ti ho detto, la variabile $email_admin viene letta dove serve

$headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n" . 'Content-Type: text/html; charset="utf-8"' . "\r\n". 'Return-Path: ' . $email_admin . "\r\n";
if (!mail($email_admin, $subject, $message_admin, $headers)) {
E questo è quello che fatto ma non cambia nulla :confused:
questa è la parte di codice alla quale ti riferisci
=======
<!-- codice precedente -->
PHP:
if (!$captcha_ok) {
	$output_error = 'Error: you didn\'t enter the code correctly.';
} else if (strlen(trim($_POST['input-e-mail'])) > 0) {
	if (is_valid_email_address($email)) {
		if ($message_ar != '') {
$headers = 'From: ' . $email_admin . "\r\n" . 'Reply-To: ' . $email_admin . "\r\n" [B]. 'Return-Path: ' . $email_admin . "\r\n" [/B]. 'Content-Type: text/html; charset="utf-8"' . "\r\n";  
	 
			if (!mail($email, $subject, $message_ar, [B]$headers[/B])) {
				$output_error = 'Error sending acknowledgement of receipt mail.<br/>';
			}
		}
$headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n" . 'Content-Type: text/html; charset="utf-8"' . "\r\n". 'Return-Path: ' . $email_admin . "\r\n"; 

		if (!mail($email_admin, $subject, $message_admin, $headers)) {
			$output_error .= 'Error sending admin mail.';
		}
	} else {
		$output_error = 'Error: your e-mail is not valid.';
<!-- segue -->
 
Ultima modifica di un moderatore:
ciao
verifica con un var_dump o con un echo che la variabile $headers venga scritta come deve essere, cioè che ci sia
Return-Path: [email protected]
PHP:
<?php
//...
var_dump($headers);//guarda cosa risulta, poi lo togli o lo commenti
 if (!mail($email_admin, $subject, $message_admin, $headers)) {
            $output_error .= 'Error sending admin mail.';
        }
    } else { 
//....
?>

poi due cose:
quando posti codice racchiuduli negli appositi BCCODE (seconda riga formattazione del post (o unica se usi risposta rapida), ultime tre iconcine, nell'ordine CODE, HTML, PHP)
non stare a riquotare altrimenti la discussione diventa un lenzuolo
 
provato con il vardump
string(137) "From: [email protected] Reply-To: [email protected] Content-Type: text/html; charset="utf-8" Return-Path: [email protected] "
tutto ok ma le mail da Aruba non arrivano
( questa mattina non arrivano neanche con modulo con il return-path giusto ) è 20 giorni che best....mio con Aruba
ieri sembrava tutto ok
mail dal form con returnpath arrivavano subito , sen il returpath arrivavano con 30' di ritardo, oggi non arriva niente.
Sono allibito ! :mad:
 
ciao
se hai pazienza do un occhio e provo.
anch'io ho un sito su aruba e le enmail arrivano.
sarà forse perche uso phpmailler e non la funzione mail()
 
Ciao Borgo
Oggi ho scoperto una novità, non è un problema di ReturnPath.
Difatti il 16/05 avevo inviato richieste dai form, una con:
Con Return-Path: <[email protected]> Modulo inviato il 16/05/2014 alle ore 08:52:10

Con Return-Path: <[email protected]> Test miosito.com inviato il 16/05/2014 alle ore 08:42:59 :

ebbene sono arrivate oggi 18/05 alle 05:25 quindi dopo 2 giorni

mentre nella giornata del 15/05 arrivavano con 30' di ritardo
E' 20 giorni che converso con assistenza Aruba ma fino ad ora non mi hanno detto nulla di interessante, il problema quindi è loro !
Comincio a sospettare che hanno un filtro sulle mail che arrivano dal mio sito
Taz
 
ciao
non è un problema di aruba, ma dei giri che fanno le email, se prendono la via diretta arrivano subito, altrimenti ci possono mettere giorni e addirittura perdersi nei meandri della rete
 
Bè, che non sia un problema di Aruba sono scettico.
============
Return-Path: <[email protected]>
Delivered-To: [email protected]
Received: (qmail 14549 invoked by uid 89); 18 May 2014 03:24:59 -0000
Received: from unknown (HELO mxcmd02.ad.aruba.it) (10.10.10.66)
by mxavas7.ad.aruba.it with SMTP; 18 May 2014 03:24:59 -0000
Received: from smtplqs-out28.aruba.it ([62.149.158.68])
by mxcmd02.ad.aruba.it with bizsmtp
id 3FMy1o0091Uppt201FQyPM; Sun, 18 May 2014 05:24:59 +0200
Received: from webs199.aruba.it ([62.149.130.209])
by smartcmd03.ad.aruba.it with bizsmtp
id 3FQy1o05Z4XD7nA01FQyZk; Sun, 18 May 2014 05:24:58 +0200
Received: from webs199 ([127.0.0.1]) by webs199.aruba.it with Microsoft SMTPSVC(6.0.3790.4675);
Fri, 16 May 2014 08:52:10 +0200Date: Fri, 16 May 2014 08:52:10 +0200
Subject: Modulo inviato dal sito mio sito
To: [email protected]
From: [email protected] <[email protected]>
Return-Path: [email protected]
User-Agent: Php Mail Function
X-Accept-Language: en-us, en
MIME-Version: 1.0
X-Priority: 1 (Highest)
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Message-ID: <[email protected]>
X-OriginalArrivalTime: 16 May 2014 06:52:10.0859 (UTC) FILETIME=[5C749BB0:01CF70D3]
X-Spam-Rating: mxavas7.ad.aruba.it 1.6.2 0/1000/N
X-Brightmail-Tracker: AAAAAA==
X-Brightmail-Tracker: AAAAAA==

=====================
a meno che Aruba non abbia un virus a malware che intercetta le mail provenienti dal form
Aruba ha ricevuto la mail lo stesso giorno ed alla stessa ora le la ha fatta viaggiare per 2 giorni
Il problema non è certamente mio ma di Aruba ( dato che nell'altro nostro provider ServerPlan tutto funziona a dovere )
Cosa ne pensi ?
 
ciao
non credo che sia un problema di aruba, tra l'altro non ho mai avuto problemi.
quello che dovresti sapere è come viaggiano le email.
diciamo, uscite da aruba, viaggiano di nodo in nodo sino ad arrivare a destinazione, viaggiando a pacchetti (spezzettate) può anche essere che un pacchetto prenda una via e un altro una diversa.
poi non è detto che da aruba sino alla destinazione seguano la via più breve, ma possono transitare anche per nodi posti agli antipodi facendo il giro del mondo prima di arrivare a destinazione
 

Discussioni simili