Come attivare la posta su un server Aruba?

Licantropo

Utente Attivo
15 Giu 2014
107
2
18
Ciao a tutti :byebye:

Recentemente ho trasferito alcuni miei siti su un unico server VPS di Aruba.
Prima ho modificato i DNS, poi ho caricato i siti e tutto ha funzionato correttamente, ad eccezione della posta ricevuta tramite le pagine "Contatti" dei diversi siti.
In uno di questi siti è presente un forum phpBB e pure questo vunziona correttamente, ma non funziona più l'invio di mail.

Gli indirizzi di posta utilizzati nei siti e nel forum sono tutte di libero.it.

Dal pannello Parallel Plesk del server, vedo che le mail inviate sono rimaste in "Coda messaggi" in "Impostazioni di posta del server"

Sapreste dirmi cosa dovrei fare per ripristinare l'invio di posta dai siti?

Grazie a tutti coloro che potranno aiutarmi. :o
 
ciao,
libero accetta invio della posta solo se sei utente infostrada oppure se hai sottoscritto abbonamento
potresti però convertire il tutto inviando tramite smtp di aruba,

potresti mettere queste righe di codice in un file e richiamarle con un include negli script
sostituendo le definizioni presenti.
ti sarà facile gestire cambiamenti in futuro

nella prima parte definisci i parametri del server smtp,
l'utente è lo stesso che utilizzi nel client di posta elettronica per ricevere/inviare posta da aruba
la seconda parte sostituisci, per la tua applicazione, i parametri di php.ini

fai sapere, ciao
Marino

PHP:
$mail_Host     = "smtp.aruba.it";		// SMTP servizio mail
$mail_Port     = 25;				// 25, 465, 587
$mail_username = "utente@dominioaruba.it";	// utente conosciuto dal servizio mail usato
$mail_password = "cambiami";			// password dell'utente

ini_set("SMTP"     ,$mail_Host);
ini_set("smtp_port",$mail_Port);
ini_set("username" ,$mail_username);
ini_set("password" ,$mail_password);
 
Grazie dei suggerimenti e del codice php, purtroppo non so come utilizzarlo :(

Gli stessi siti non hanno mai dato problemi finchè funzionavano nel loro servizio di hosting acquistato insieme al dominio, evidentemente il problema non è determinato da Libero, Telecom o Infostrada, ma probabilmente da una erronea configurazione del server.

Quando mi scrivi "potresti però convertire il tutto inviando tramite smtp di aruba" cosa dovrei fare esattamente?
 
il problema difatti non è generato dal provider della posta (salvo eccezioni)
ma dalla configurazione del server di aruba.

per quel poco che conosco, aruba ha un solo file php.ini per tutti gli utenti,
gli utenti hanno domini diversi e aruba non gestisce i parametri di invio delle mail
per cui per specificare questi parametri propri, è necessario ricorrere a istruzioni ini_set
o a classi specifiche tipo phpmailer(), fornendo gli stessi parametri, per l'invio delle mail

nella mia esperienza ho utilizzato la funzione mail() propria di php
solo nei casi di servizi SMTP che NON richiedono la connessione crittografata (TLS o SSL), per esempio,
out.alice.it
mail.tin.it
smtp.aruba.it

mentre ho utilizzato phpmailer(...) negli altri casi, per esempio,
smtp.gmail.com
smtp.web.de
smtp.live.com

probabilmente se, nei tuoi script, fosse stata utilizzata una classe specifica tipo phpmailer(),
questi parametri sarebbero gia presenti nell'applicazione e tutto funzionerebbe senza problemi,
ma avendo la mail cessato di funzionare penso che sia stato codificato l'invio con la funzione mail() di php

utilizzando l'hosting di aruba, e la funzione mail() vanno comunque inseriti gli ini_set,
con i parametri del servizio smtp che stavi usando, o al limite, passare al servizio smtp di aruba

per ridurre al minimo l'intervento, sarebbe possibile inserire le istruzioni indicate nel post precedente
nel file di connessione del db che di solito è tenuto separato e incluso da tutti gli script

dovrebbe bastare,
fare una copia del file di connessione del db per sicurezza
e inserire le istruzioni nel file operativo

fai sapere, ciao
Marino
 
Grazie delle informazioni, ma non ho le competenze per metterle in pratica, preferisco farmi aiutare da chi conosce bene la materia. :)
 
Ciao borgo italia, grazie della risposta.

Il ticket ad Aruba è stata la prima cosa che ho fatto, in effetti mi hanno risposto il giorno dopo, ma la loro risposta non mi è stata di particolare aiuto :(

Eccola: "Gentile cliente, la informo che il personale non è a conoscenza dell'attività del server da lei gestito, né è fornito supporto sull'attività sistemistica che deve essere affrontata dall'utente amministratore.
E' consigliato effettuare verifiche approfondite accedendo alla shell, da cui sarà possibile analizzare i files di log (il log generato da qmail si trova in /usr/local/psa/var/log/maillog ).
Il dominio indicato non dispone di record MX valido pertanto la posta non può essere indirizzata correttamente.

Distinti saluti."


Ciò premesso, sapresti aiutarmi?
 
Ultima modifica:
ciao,
ho preparato uno script per provare l'invio delle mail,
con la funzione mail() di php

lo stesso script contiene
. la form per inserire i dati, con alcuni già predisposti,
. la preparazione e invio della mail con il risultato

ci sono alcuni commenti per indicare le operazioni che vengono fatte
ma soprattutto non si sono "trucchi o inganni" nel codice

se hai accesso ad uno dei domini trasferiti su aruba,
puoi caricare questo script ed eseguirlo (ma puoi farlo anche da un pc qualsiasi per prova)

i parametri "SMTP", "porta", "utente registrato" e "password" devono essere congruenti tra loro

nel caso di dominio su aruba, devi avere a portata di mano ed inserire
l'utente di posta del tuo dominio (utente registrato) e la relativa password

nell'indirizzo "e-mail to" inserisci il destinatario a cui vuoi recapitare la mail

per evitare il rifiuto dell'invio da parte del servizio,
"e-mail from" viene sostituito da "Utente registrato" nel header del messaggio

questo script ti da la possibilità di provare qualunque tipo di invio con connessione non crittografata,
(ragione per cui non viene usato "e-mail from" che se diverso da "Utente registrato" richiede invece la
connessione crittografata)

fammi sapere, ciao
Marino

PHP:
<?PHP

# http://localhost/test_site/php/test/MailTest.php

if (isset($_POST['Submitted'])){

  // estrae e stampa variabili e valori da $_POST
  print '<table width="500" border="0" cellspacing="5" cellpadding="5">';
  while(list($chiave, $valore)=each($_POST)){
    ${$chiave}=trim(strip_tags($valore));
    print "<tr><td>".$chiave." : </td><td>".${$chiave}."</td></tr>";
  }
  print "</table>";

  // utilizza i parametri seguenti NON quelli di php.ini, solo per questo script
  ini_set("SMTP"     ,$SMTP);
  ini_set("smtp_port",$porta);
  ini_set("username" ,$userID);
  ini_set("password" ,$userPWD);

  // prepara e invia messaggio
  // per FROM viene usato $userID per evitare il rifiuto dell' invio (invece che $emailFROM)
  $mail_header = "MIME-Version: 1.0\r\n";
  $mail_header.= "Content-type: text/html; charset=utf-8\r\n";
  $mail_header.= "From: <".$userID.">\r\n";

  if (mail($emailTO, $subject, $msgbody, $mail_header)) print "<b>messaggio inviato</b>";
  else                                                  print "<b>errore nell'invio</b>";

  print "<br /><br /><a href=\"MailTest.php\">RIPROVA</a>";
}
else{
?>
<HTML>
<form action="MailTest.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <table width="500" border="0" cellspacing="5" cellpadding="5">
    <caption>&nbsp;</caption>
    <tr>
      <td colspan="2"><b>PHP SCRIPT PER PROVA INVIO MAIL (funzione mail di php)</b></td>
    </tr>
    <tr>
      <td width="165"><label for="SMTP">Servizio SMTP :</label></td>
      <td width="300"><input name="SMTP" type="text" required id="SMTP" value="smtp.aruba.it" size="50"></td>
    </tr>
    <tr>
      <td width="165"><label for="porta">Porta :</label></td>
      <td width="300"><input name="porta" type="text" required id="porta" value="25" size="50"></td>
    </tr>
    <tr>
      <td><label for="userID">Utente registrato :</label></td>
      <td><input name="userID" type="email" required id="userID" value="nome@miosito.it" size="50"></td>
    </tr>
    <tr>
      <td><label for="userPWD">Password :</label></td>
      <td><input name="userPWD" type="text" required id="userPWD" value="cambiami" size="50"></td>
    </tr>
    <tr>
      <td><label for="emailFROM">e-mail from :</label></td>
      <td><input name="emailFROM" type="email" required id="emailFROM" value="info@example.com" size="50"></td>
    </tr>
    <tr>
      <td><label for="emailTO">e-mail to :</label></td>
      <td><input name="emailTO" type="email" required id="emailTO" value="destinatario@dominio.it" size="50"></td>
    </tr>
    <tr>
      <td><label for="subject">Oggetto :</label></td>
      <td><input name="subject" type="text" required id="subject" value="oggetto per messaggio di prova" size="50"></td>
    </tr>
    <tr>
      <td><label for="msgbody">Messaggio :</label></td>
      <td><input name="msgbody" type="text" required id="msgbody" value="testo del messaggio di prova" size="50"></td>
    </tr>
    <tr>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><input name="submit" type="submit" id="submit" formaction="MailTest.php" formenctype="multipart/form-data" formmethod="POST" value="Invia"></td>
    </tr>
    <tr>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><span class="autorizzo">Autorizzo ai sensi del D. Lgs. 30 Giugno 2003 n. 196 il trattamento dei dati personali trasmessi</span></td>
    </tr>
  </table>
  <input type="hidden" name="Submitted" value="1" />
</form>
</HTML>
<?PHP
}
?>
 
Vovevo capire come mettere questo codice e dove sistemarlo

Non capisco dove mettere lo script e dove è il form mail action:

>
> <!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D"
> NAME="CDO for Windows 2000 Type Library" -->
> <!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4"
> NAME="ADODB Type Library" -->
> <%
> mittente="postmaster@NOMEDOMINIO.EXT"
> destinatario="postmaster@NOMEDOMINIO.EXT"
> oggetto="prova"
> testo="prova"
> Set eMail = CreateObject("CDO.Message")
> Set iConf = CreateObject("CDO.Configuration")
> Set Flds = iConf.Fields
> Flds(cdoSendUsingMethod) = cdoSendUsingPort
> Flds(cdoSMTPServer) = "smtp.NOMEDOMINIO.EXT"
> Flds(cdoSMTPServerPort) = 25
> Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
> Flds.Update
> eMail.Configuration = iConf
> 'Definiamo i diversi attributi della nostra mail
> eMail.From = mittente
> eMail.To = destinatario
> eMail.Subject = oggetto
> 'Se il testo in Html useremo HTMLBody al posto di TextBody
> 'eMail.TextBody = messaggio
> eMail.HTMLBody = testo
> 'Inviamo la mail!
> eMail.Send()
> 'Eliminiamo l'oggetto...
> Set eMail = Nothing
> %>
>
 
ciao,
ho preparato uno script per provare l'invio delle mail,
con la funzione mail() di php

lo stesso script contiene
. la form per inserire i dati, con alcuni già predisposti,
. la preparazione e invio della mail con il risultato

ci sono alcuni commenti per indicare le operazioni che vengono fatte
ma soprattutto non si sono "trucchi o inganni" nel codice

se hai accesso ad uno dei domini trasferiti su aruba,
puoi caricare questo script ed eseguirlo (ma puoi farlo anche da un pc qualsiasi per prova)

i parametri "SMTP", "porta", "utente registrato" e "password" devono essere congruenti tra loro

nel caso di dominio su aruba, devi avere a portata di mano ed inserire
l'utente di posta del tuo dominio (utente registrato) e la relativa password

nell'indirizzo "e-mail to" inserisci il destinatario a cui vuoi recapitare la mail

per evitare il rifiuto dell'invio da parte del servizio,
"e-mail from" viene sostituito da "Utente registrato" nel header del messaggio

questo script ti da la possibilità di provare qualunque tipo di invio con connessione non crittografata,
(ragione per cui non viene usato "e-mail from" che se diverso da "Utente registrato" richiede invece la
connessione crittografata)

fammi sapere, ciao
Marino

PHP:
<?PHP

# http://localhost/test_site/php/test/MailTest.php

if (isset($_POST['Submitted'])){

  // estrae e stampa variabili e valori da $_POST
  print '<table width="500" border="0" cellspacing="5" cellpadding="5">';
  while(list($chiave, $valore)=each($_POST)){
    ${$chiave}=trim(strip_tags($valore));
    print "<tr><td>".$chiave." : </td><td>".${$chiave}."</td></tr>";
  }
  print "</table>";

  // utilizza i parametri seguenti NON quelli di php.ini, solo per questo script
  ini_set("SMTP"     ,$SMTP);
  ini_set("smtp_port",$porta);
  ini_set("username" ,$userID);
  ini_set("password" ,$userPWD);

  // prepara e invia messaggio
  // per FROM viene usato $userID per evitare il rifiuto dell' invio (invece che $emailFROM)
  $mail_header = "MIME-Version: 1.0\r\n";
  $mail_header.= "Content-type: text/html; charset=utf-8\r\n";
  $mail_header.= "From: <".$userID.">\r\n";

  if (mail($emailTO, $subject, $msgbody, $mail_header)) print "<b>messaggio inviato</b>";
  else                                                  print "<b>errore nell'invio</b>";

  print "<br /><br /><a href=\"MailTest.php\">RIPROVA</a>";
}
else{
?>
<HTML>
<form action="MailTest.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <table width="500" border="0" cellspacing="5" cellpadding="5">
    <caption>*</caption>
    <tr>
      <td colspan="2"><b>PHP SCRIPT PER PROVA INVIO MAIL (funzione mail di php)</b></td>
    </tr>
    <tr>
      <td width="165"><label for="SMTP">Servizio SMTP :</label></td>
      <td width="300"><input name="SMTP" type="text" required id="SMTP" value="smtp.aruba.it" size="50"></td>
    </tr>
    <tr>
      <td width="165"><label for="porta">Porta :</label></td>
      <td width="300"><input name="porta" type="text" required id="porta" value="25" size="50"></td>
    </tr>
    <tr>
      <td><label for="userID">Utente registrato :</label></td>
      <td><input name="userID" type="email" required id="userID" value="nome@miosito.it" size="50"></td>
    </tr>
    <tr>
      <td><label for="userPWD">Password :</label></td>
      <td><input name="userPWD" type="text" required id="userPWD" value="cambiami" size="50"></td>
    </tr>
    <tr>
      <td><label for="emailFROM">e-mail from :</label></td>
      <td><input name="emailFROM" type="email" required id="emailFROM" value="info@example.com" size="50"></td>
    </tr>
    <tr>
      <td><label for="emailTO">e-mail to :</label></td>
      <td><input name="emailTO" type="email" required id="emailTO" value="destinatario@dominio.it" size="50"></td>
    </tr>
    <tr>
      <td><label for="subject">Oggetto :</label></td>
      <td><input name="subject" type="text" required id="subject" value="oggetto per messaggio di prova" size="50"></td>
    </tr>
    <tr>
      <td><label for="msgbody">Messaggio :</label></td>
      <td><input name="msgbody" type="text" required id="msgbody" value="testo del messaggio di prova" size="50"></td>
    </tr>
    <tr>
      <td colspan="2">*</td>
    </tr>
    <tr>
      <td colspan="2"><input name="submit" type="submit" id="submit" formaction="MailTest.php" formenctype="multipart/form-data" formmethod="POST" value="Invia"></td>
    </tr>
    <tr>
      <td colspan="2">*</td>
    </tr>
    <tr>
      <td colspan="2"><span class="autorizzo">Autorizzo ai sensi del D. Lgs. 30 Giugno 2003 n. 196 il trattamento dei dati personali trasmessi</span></td>
    </tr>
  </table>
  <input type="hidden" name="Submitted" value="1" />
</form>
</HTML>
<?PHP
}
?>

ciao siccome ho anche io questo prolema e ho voluto provato lo script ma mi da questo errore
Not Found

The requested document was not found on this server.
Web Server at @domain_name@
 
Not Found

The requested document was not found on this server.
Web Server at @domain_name@

se hai trascritto l'errore, hai tralasciato le parti più importanti,

Not Found, cosa ?

The requested document was not found, quale documento ?

ciao
Marino
 
salve mi ricolego a quanto stete discutendo perchè ho un problema con l'invio della posta dal sito. Potrebbe essere una questione di configurazione di Plesk ??

Per l'invio delle mail dal sito utilizzo la classe PHP MAiler.

Questo il codice della mia pagina php:

<?php
require_once("../class/PHPMailer/PHPMailerAutoload.php");

$messaggio = new PHPmailer();
$messaggio->IsSMTP();
$messaggio->SMTPDebug = 2;
$messaggio->SMTPAuth= true;
$messaggio->IsHTML(true);
$messaggio->Host="smtp.aruba.it";
$messaggio->Username = "miaemail@dominio.it";
$messaggio->Password = "miapassword";
$mail->Port = 25;
$messaggio->From="miaemail@dominio.it";
$messaggio->AddReplyTo("miaemail@dominio.it");
$messaggio->Subject="Test di invio email";
$messaggio->AddAddress("destinatario@dominio.it");
$messaggio->Body=stripslashes("Test di invio email da server dedicato");

if(!$messaggio->Send()) echo $messaggio->ErrorInfo;
else echo "Messaggio correttamente inviato";
$messaggio->SmtpClose();
unset($messaggio);
?>

Lo script mi sembra apposto, ma ErrorInfo mi restituisce questo:

2016-11-23 10:57:18 SERVER -> CLIENT: 220 mxcm02.ad.aruba.it bizsmtp ESMTP server ready 2016-11-23 10:57:18 CLIENT -> SERVER: EHLO 94.177.168.173 2016-11-23 10:57:18 SERVER -> CLIENT: 250-mxcm02.ad.aruba.it hello [94.177.168.173], pleased to meet you 250-HELP 250-AUTH LOGIN PLAIN 250-SIZE 524288000 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 OK 2016-11-23 10:57:18 CLIENT -> SERVER: AUTH LOGIN 2016-11-23 10:57:18 SERVER -> CLIENT: 334 VXNlcm5hbWU6 2016-11-23 10:57:18 CLIENT -> SERVER: Y2hvZ2FuLndlYm1hc3RlckBnbWFpbC5jb20= 2016-11-23 10:57:18 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2016-11-23 10:57:18 CLIENT -> SERVER: Y2hvZ2FuMjAxNg== 2016-11-23 10:57:19 SERVER -> CLIENT: 535 5.7.0 ...authentication rejected 2016-11-23 10:57:19 SMTP ERROR: Password command failed: 535 5.7.0 ...authentication rejected 2016-11-23 10:57:19 CLIENT -> SERVER: QUIT 2016-11-23 10:57:19 SERVER -> CLIENT: 221 2.0.0 mxcm02.ad.aruba.it bizsmtp closing connection 2016-11-23 10:57:19 SMTP connect() failed. SMTP connect() failed.

Potreste darmi una mano da cosa dipende l'errore?? Potrebbe essere perchè devo configurare correttamente l'SMTP in Plesk?? Grazie.
 
PHP:
2016-11-23 10:57:19 SERVER -> CLIENT: 535 5.7.0 ...authentication rejected

$mail->Port = 25; // questo è nel tuo script

// sostituisci così,

$messaggio = new PHPmailer();
$messaggio->IsSMTP();
$messaggio->SMTPDebug  = 2;
$messaggio->Host       = "smtps.aruba.it";     // ok PHPmailer SMTP aruba con SSL
$messaggio->Port       = 465;
$messaggio->SMTPAuth   = true;
$messaggio->SMTPSecure = "ssl";
$messaggio->Username   = "CAMBIAMI@MIOSITO.it";
$messaggio->Password   = "CAMBIAMI";

$messaggio->IsHTML(true);
$messaggio->From="miaemail@dominio.it";
$messaggio->AddReplyTo("miaemail@dominio.it");
$messaggio->Subject="Test di invio email";
$messaggio->AddAddress("destinatario@dominio.it");
$messaggio->Body=stripslashes("Test di invio email da server dedicato");
 

Discussioni simili