Problemi invio mail a libero, email.it, ecc ecc... Soluzioni

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Problemi invio mail a libero, email.it, ecc ecc... Soluzioni

Messaggio da hsg26 »

Oggi mi sono messo a curiosare per possibili soluzioni.

Vi invito quindi a provarle una ad una... e non do alcuna consulenza sulle soluzioni trovate.

FATE SEMPRE UN BACKUP IN MODO DA POTER TORNARE ALL'INIZIO SE UNA MODIFICA NON RISOLVE IL PROBLEMA.

Riporterò unicamente alcune cose da oscommerce.com

Soluzione 1:

/includes/functions/general.php only - probabilmente necessario farlo anche sotto /admin

Aprire /includes/functions/general.php.

Sostituire la funzione tep_mail function con:

Codice: Seleziona tutto

function sock_mail($auth,$to, $subj, $body, $head, $from){
     $lb="\r\n";                        //linebreak
     $body_lb="\r\n";                //body linebreak
     $loc_host = "localhost";        //localhost
     $smtp_acc = "username";        //account
     $smtp_pass="password";            //password
     $smtp_host="localhost";    //server SMTP
     #$hdr = explode($lb,$head);        //header
    
     if($body) {$bdy = preg_replace("/^\./","..",explode($body_lb,$body));}
    
     // build the array for the SMTP dialog. Line content is array(command, success code, additonal error message)
     if($auth == 1){// SMTP authentication methode AUTH LOGIN, use extended HELO "EHLO"
         $smtp = array(
             // call the server and tell the name of your local host
             array("EHLO ".$loc_host.$lb,"220,250","HELO error: "),
             // request to auth
             array("AUTH LOGIN".$lb,"334","AUTH error:"),
             // username
             array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATION error : "),
             // password
             array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION error : "));
     }
     else {// no authentication, use standard HELO    
         $smtp = array(
             // call the server and tell the name of your local host
             array("HELO ".$loc_host.$lb,"220,250","HELO error: "));
     }

    
     // envelop
     $smtp[] = array("MAIL FROM: <".$from.">".$lb,"250","MAIL FROM error: ");
     $smtp[] = array("RCPT TO: <".$to.">".$lb,"250","RCPT TO error: ");
     // begin data        
     $smtp[] = array("DATA".$lb,"354","DATA error: ");
     // header
     $smtp[] = array("Subject: ".$subj.$lb,"","");
     $smtp[] = array("To:".$to.$lb,"","");        
     foreach($head as $h) {$smtp[] = array($h.$lb,"","");}
     // end header, begin the body
     $smtp[] = array($lb,"","");
     if($bdy) {foreach($bdy as $b) {$smtp[] = array($b.$body_lb,"","");}}
     // end of message
     $smtp[] = array(".".$lb,"250","DATA(end)error: ");
     $smtp[] = array("QUIT".$lb,"221","QUIT error: ");

     // open socket
     $fp = @fsockopen($smtp_host, 25);
     if (!$fp) echo "<b>Error:</b> Cannot conect to ".$smtp_host."<br>";
    
     $banner = @fgets($fp, 1024);
     // perform the SMTP dialog with all lines of the list
     foreach($smtp as $req){
         $r = $req[0];
         // send request
         @fputs($fp, $req[0]);
         // get available server messages and stop on errors
         if($req[1]){
             while($result = @fgets($fp, 1024)){if(substr($result,3,1) == " ") { break; }};
             if (!strstr($req[1],substr($result,0,3))) echo"$req[2].$result<br>";
         }
     }
     $result = @fgets($fp, 1024);
     // close socket
     @fclose($fp);
     return 1;
 }
 function tep_mail($to_name, $to_email_address, $email_subject, $email_text, $from_email_name, $from_email_address) {
  $headers[0]='MIME-Version: 1.0';
$headers[1]='Content-type: text/html; charset=iso-8859-1';
$headers[2]='From: '.$from_email_name.'<'.$from_email_address.'>';
$from = $from_email_address;
$subject = $email_subject;
$catre = $to_email_address;
$email_text = str_replace("\n", "\r\n", $email_text);
sock_mail(1,$catre,$subject,$email_text,$headers,$from);
Ultima modifica di hsg26 il 24/06/2008, 16:18, modificato 2 volte in totale.
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

SOLUZIONE 2: Forse la più probabile

(probabilmente non va con il safe mode attivato).

In includes/classes/email.php and admin/includes/classes/email.php

Trovare:

if (EMAIL_TRANSPORT == 'smtp') {
return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $this->headers) . $this->lf . implode($this->lf, $xtra_headers));
} else {
return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this->lf, $xtra_headers));
}


E aggiungere il 5° parametro alla mail function "-f".STORE_OWNER_EMAIL_ADDRESS che farà diventare il tutto:

if (EMAIL_TRANSPORT == 'smtp') {
return mail($to_addr, $subject, $this->output, 'From: ' . $from . $this->lf . 'To: ' . $to . $this->lf . implode($this->lf, $this->headers) . $this->lf . implode($this->lf, $xtra_headers),"-f".STORE_OWNER_EMAIL_ADDRESS);
} else {
return mail($to, $subject, $this->output, 'From: '.$from.$this->lf.implode($this->lf, $this->headers).$this->lf.implode($this->lf, $xtra_headers),"-f".STORE_OWNER_EMAIL_ADDRESS);
}

Verificare poi che in: admin/configuration.php?gID=1&cID=3&action=edit sia inserito un'email valido, ospitato sullo stesso server del negozio (non email gratis come Yahoo! o Gmail o altro).
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

TERZA SOLUZIONE:

installare questa contribution:

http://www.oscommerce.com/community/contributions,901
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

QUINTA:

IN ADMIN My Store-->E-mail From-->

Cambiare

kenny@yourdomain.com<kenny@yourdomain.com> in


kenny@yourdomain.com
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

Per vedere se il problema è di oscommerce o dell'host:

http://www.oscommerce.com/community/contributions,1595
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
ciccio78
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 17/02/2007, 15:21

Messaggio da ciccio78 »

Problema risolto, effettivamente basta poco (non essere pigri come me)

grazie ancora :)
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

ciccio78 ha scritto:
Problema risolto, effettivamente basta poco (non essere pigri come me)

grazie ancora :)
con quale?
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
ciccio78
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 17/02/2007, 15:21

Messaggio da ciccio78 »

hsg26 ha scritto:
con quale?
con la QUARTA
stepro
membro Junior
membro Junior
Messaggi: 2
Iscritto il: 25/06/2008, 22:35

Messaggio da stepro »

l'ho provate tutte , ma niente da fare! :cry: :cry:
se imposto come email xxxx@libero.it l'email non arriva
se imposto come email xxxxx@miosito.it l'email arriva perfettamente

impostazioni E-Mail Transport Method sendmail

stepro
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

stepro ha scritto:l'ho provate tutte , ma niente da fare! :cry: :cry:
se imposto come email xxxx@libero.it l'email non arriva
se imposto come email xxxxx@miosito.it l'email arriva perfettamente

impostazioni E-Mail Transport Method sendmail

stepro
beh questo indirettamente è anche logico. Per prevenire lo spam, i provider verificano al contrario se l'indirizzo corrisponde al server che l'ha mandato. In più di una delle soluzioni è esplicitamente dichiarato di non usare altre email se non quelle del proprio server.

Comunque qui ci sono sei soluzioni, le hai provate tutte? quali si e quali no?
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
stepro
membro Junior
membro Junior
Messaggi: 2
Iscritto il: 25/06/2008, 22:35

Messaggio da stepro »

Certo che è strano !

Sono stato fino alle 2 di questa mattina , provandole tutte , ma niente da fare , poco fà sono arrivate da Libero oltre 50 email , tutte le prove fatte ieri!
Come email del mittente ho sempre lasciato info@cosedicasanostra.com
e come email del cliente ho provato sia con xxxx@libero.it che con xxxx@miosito.it quando impostavo quella di libero arrivava l'email di conferma ordine solo su info@cosedicasanostra.com , mentre se impostavo come email del cliente xxxx@miosito.it arrivano 2 conferma ordine una a info@cosedicasanostra.com e l'altra a xxxx@miosito.it .
Avevo pensato che il problema fosse dovuto a come viene formattata l'email , invece stamattina funziona benissimo ???????
Certo che Libero è strano !
Ora però non sò quale delle soluzioni a contribuito a risolvere il problema.
ciccio78
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 17/02/2007, 15:21

Messaggio da ciccio78 »

io ripeto che la quarta soluzione sia quella migliore, le avevo provate anch'io tutte, ma oltre a libero avete provato con le mail di email.it ???

e poi ogni tanto a me capitava anche con yahoo.it non so a voi...
Rispondi