Più tardi proverò e vi faro sapere.
Più tardi proverò e vi faro sapere.
Allora...
nel file php.ini ho messo questo
sendmail_path = /Applications/XAMPP/xamppfiles/bin/php -c /Applications/XAMPP/xamppfiles/etc/php.ini -f /Users/samuele/Sites/sendmail.php
ed ho testato con questo script
eseguendo lo script mi esce OK però non riesco a capire in quale cartella viene creato il file.Codice PHP:
$a="mail@destinatario.it";
$oggetto="oggetto mail";
$messaggio="messaggio mail";
$r = mail($a, $oggetto, $messaggio);
if ($r == 1)
echo "OK";
else
echo "ERROR";
Devo crearla io la cartella?
Inoltre mettere o non mettere il codice
#!/Applications/XAMPP/xamppfiles/bin/php -q
sembra non avere effetto.
La stringa
sembra non avere effetto perché cmq invochi l'interprete php nel php.ini.codice:#!/Applications/XAMPP/xamppfiles/bin/php -q
Prova a metterla e ad usare questa configurazione del php.ini:
Infatti, grazie a quella stringa il file sendmail.php dovrebbe diventare un eseguibile...Codice PHP:
sendmail_path = /Users/samuele/Sites/sendmail.php
Per quanto riguarda il path di destinazione, dovrebbe essere indicato dalla definizione:
E' meglio che imposti qualcosa tipo:Codice PHP:
define('__EMAIL_PATH', 'email_');
ma assicurati che la cartella "email" esista...Codice PHP:
define('__EMAIL_PATH', '/Applications/XAMPP/email');
Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash
Funziona! Grazie ragazzi!
Lo script sendmail.php è questo
Nel file php.ini ho inserito questo codiceCodice PHP:
#!/Applications/XAMPP/xamppfiles/bin/php -q
<?php
define('__BUFFER_SIZE', '8192');
define('__EMAIL_PATH', '/Users/samuele/Sites/emails');
define('__EMAIL_PREFIX', 'email_');
define('__EMAIL_SUFFIX', '.eml');
$fpInput = fopen('php://stdin', 'r');
$fpOutput = fopen(__EMAIL_PATH . '/' . __EMAIL_PREFIX . time() . __EMAIL_SUFFIX, 'wb');
while(feof($fpInput) === false)
{
$buffer = fread($fpInput, __BUFFER_SIZE);
fwrite($fpOutput, $buffer);
}
fclose($fpInput);
fclose($fpOutput);
?>
Ho creato la cartella emails in /Users/samuele/Sites/codice:sendmail_path = /Users/samuele/Sites/sendmail.php
Per ultimo ho impostato i permessi al file sendmail.php e alla cartella emails al valore 777.
Ottimo! Non sapevo che MacOS fosse tanto uguale a linux! Praticamente hai fatto esattamente tutto quello che è necessario anche per linux...Originariamente inviato da samu81
Per ultimo ho impostato i permessi al file sendmail.php e alla cartella emails al valore 777.
Buoni test!!!
Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash
scusa ma sto cercando anche io di far funzionare questo script per inviare le email in locale sotto forma di file.
ecco il mio
nel php.ini ho messo:Codice PHP:
#!/etc/php/7.0/apache2/php.ini -q
<?php
define('__BUFFER_SIZE', '8192');
define('__EMAIL_PATH', '/home/mioutente/public_html/email_sito');
define('__EMAIL_PREFIX', 'email_');
define('__EMAIL_SUFFIX', '.eml');
$fpInput = fopen('php://stdin', 'r');
$fpOutput = fopen(__EMAIL_PATH . '/' . __EMAIL_PREFIX . time() . __EMAIL_SUFFIX, 'wb');
while(feof($fpInput) === false)
{
$buffer = fread($fpInput, __BUFFER_SIZE);
fwrite($fpOutput, $buffer);
}
fclose($fpInput);
fclose($fpOutput);
?>
sendmail_path = /home/mioutente/public_html/email_sito/sendmail.php
e dato i permessi 777 sia alla dir che al file sendmail.php
Ma non funziona: compilando dei form nel sito localhost e con la funzione mail() non succede niente: nei log di Apache leggo
[Wed Nov 08 18:57:22.924222 2017] [core:notice] [pid 5021] AH00094: Command line: '/usr/sbin/apache2'
sh: 1: /home/mioutente/public_html/email_sito/sendmail.php: Permission denied