Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
MTA (come ssmtp)
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
gionnico
Apprentice
Apprentice


Joined: 29 Jun 2007
Posts: 192
Location: Italy

PostPosted: Tue Aug 28, 2007 2:47 pm    Post subject: MTA (come ssmtp) Reply with quote

Ho uno spazio web, ed ho bisogno di utilizzare la funzione mail locale.

Il server smtp però è smtp.email.it dove ho un account.
Per spedire email, richiede utente e password e le email possono essere inviate soltanto da utente@email.it


Come faccio a configurare semplicemente un MTA per fare questo?
ssmtp non và bene perché non funziona ad esempio con PHP ......... :?:
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Tue Aug 28, 2007 4:05 pm    Post subject: Re: MTA (come ssmtp) Reply with quote

stai confondendo le cose.
qualunque SMTP server permette di inviare le mail solo ai domini locali in piena libertà (nel tuo caso email.it).
nel caso volessi fare relay è necessario procedere all'autenticazione, e per questo dovrebbero bastarti userid e password che hai presso email.it

php funziona anche con ssmtp, ma devi dirgli di usare /usr/sbin/sendmail invece che collegarsi ad un SMTP server
Back to top
View user's profile Send private message
mrfree
Veteran
Veteran


Joined: 15 Mar 2003
Posts: 1303
Location: Europe.Italy.Sulmona

PostPosted: Tue Aug 28, 2007 5:06 pm    Post subject: Reply with quote

Mhhh si hai fatto un po' di confusione :)

Comunque puoi tranquillamente utilizzare ssmtp con php, dai uno sguardo qui ad esempio
_________________
Please EU, pimp my country!

ICE: /etc/init.d/iptables panic
Back to top
View user's profile Send private message
gionnico
Apprentice
Apprentice


Joined: 29 Jun 2007
Posts: 192
Location: Italy

PostPosted: Tue Aug 28, 2007 5:39 pm    Post subject: Reply with quote

Ok è vero..

Allora proverò ad usare ssmtp.

L'ho configurato così:

/etc/ssmtp/ssmtp.conf
Code:

# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=gionnico@email.it

# The place where the mail goes. The actual machine name is required
# no MX records are consulted. Commonly mailhosts are named mail.domain.com
# The example will fit if you are in domain.com and your mailhub is so named.
#mailhub=mail

# Example for SMTP port number 2525
# mailhub=mail.your.domain:2525
# Example for SMTP port number 25 (Standard/RFC)
# mailhub=mail.your.domain       
# Example for SSL encrypted connection
# mailhub=mail.your.domain:465
mailhub=smtp.email.it

# Where will the mail seem to come from?
rewriteDomain=forzazzurri.mine.nu

# The full hostname

# Gentoo bug #47562
# Commenting the following line will force ssmtp to figure
# out the hostname itself.

hostname=www.forzazzurri.mine.nu

# Set this to never rewrite the "From:" line (unless not given) and to
# use that address in the "from line" of the envelope.
FromLineOverride=NO

# Use SSL/TLS to send secure messages to server.
#UseTLS=YES

# Use SSL/TLS certificate to authenticate against smtp host.
#UseTLSCert=YES

# Use this RSA certificate.
#TLSCert=/etc/ssl/certs/ssmtp.pem

AuthUser=gionnico@email.it
AuthPass=password


/etc/ssmtp/revaliases
Code:

root:gionnico@email.it:smtp.email.it
postmaster:gionnico@email.it:smtp.email.it
usenet:gionnico@email.it:smtp.email.it
webmaster:gionnico@email.it:smtp.email.it
apache:gionnico@email.it:smtp.email.it
gionnico:gionnico@email.it:smtp.email.it

(un bell' *:gionnico@email.it:smtp.email.it non si potrebbe usare? :roll: )

/etc/php/apache2-php5/php.ini
Code:

[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =


Nessun output come errore php né su /var/log/messages .. e la mail non arriva..... :? :?:
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Tue Aug 28, 2007 6:07 pm    Post subject: Reply with quote

esattamente, dovrebbe essere corretto (salvo per il server, username e password, che ovviamente non conosco :wink: )
se ssmtp dovesse darti dei problemi con l'autenticazione puoi provare anche msmtp, che delle volte si comporta un po' meglio
Back to top
View user's profile Send private message
gionnico
Apprentice
Apprentice


Joined: 29 Jun 2007
Posts: 192
Location: Italy

PostPosted: Tue Aug 28, 2007 8:52 pm    Post subject: Reply with quote

Ok, ho tolto mailwrapper ed ssmtp ed ho installato msmtp... ancora non funziona.

msmtp --version
Code:

msmtp version 1.4.7
TLS/SSL library: OpenSSL
Authentication library: built-in
Supported authentication methods:
plain cram-md5 external login
IDN support: enabled
NLS: enabled, LOCALEDIR is /usr/share/locale
System configuration file name: /etc/msmtprc
User configuration file name: /root/.msmtprc


/etc/msmtprc
Code:

# Set default values for all following accounts.
defaults
tls off
logfile /var/log/msmtp.log

# A freemail service
account email.it
host smtp.email.it
from gionnico@email.it
auth on
user gionnico@email.it
password password

# Set a default account
account default : email.it


Sul php.ini ho dovuto impostare come sendmail msmtp perché mettere
Code:

set sendmail="/usr/bin/msmtp"

Nel /etc/msmtprc non era accettato, quindi ...

/etc/php/apache2-php5/php.ini
Code:

[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/bin/msmtp

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Tue Aug 28, 2007 9:09 pm    Post subject: Re: MTA (come ssmtp) Reply with quote

non mi torna una cosa: msmtp non installa /usr/sbin/sendmail? sarebbe una cosa stranissima!!!

quanto al fatto di non funzionare, verifica prima di tutto che tu possa inviare mail al dominio email.it. se questo non è possibile hai chiaramente impostato un indirizzo sbagliato per l'MX.
se riesci ad inviare mail al dominio email.it ma non ad altri domini, c'è qualcosa che non va con l'autenticazione, ed è possibile che l'MX di email subordini l'autenticazione all'uso di TLS, oppure che non permetta proprio il relay, al che devi cercarti un altro SMTP
Back to top
View user's profile Send private message
gionnico
Apprentice
Apprentice


Joined: 29 Jun 2007
Posts: 192
Location: Italy

PostPosted: Tue Aug 28, 2007 9:17 pm    Post subject: Re: MTA (come ssmtp) Reply with quote

.:chrome:. wrote:
non mi torna una cosa: msmtp non installa /usr/sbin/sendmail? sarebbe una cosa stranissima!!!

quanto al fatto di non funzionare, verifica prima di tutto che tu possa inviare mail al dominio email.it. se questo non è possibile hai chiaramente impostato un indirizzo sbagliato per l'MX.
se riesci ad inviare mail al dominio email.it ma non ad altri domini, c'è qualcosa che non va con l'autenticazione, ed è possibile che l'MX di email subordini l'autenticazione all'uso di TLS, oppure che non permetta proprio il relay, al che devi cercarti un altro SMTP

Nono, /usr/sbin/sendmail è un link simbolico a msmtp .. tutto qui?

Io stò provando a mandare emails verso altri account email.it ma niente.
Il TLS non lo usa, usa autenticazione LOGIN, ma sono sicuro che il relay sia consentito perché ad esempio se specifico su phpBB2 di usare un server esterno, inserisco utente e password, e tralascio la funzione mail locale, le emails arrivano.

Il problema è proprio che a questo punto io vorrei usare la funzione mail locale, non vedo perché non debba funzionare e non vedo I LOG!!!??
Back to top
View user's profile Send private message
mrfree
Veteran
Veteran


Joined: 15 Mar 2003
Posts: 1303
Location: Europe.Italy.Sulmona

PostPosted: Tue Aug 28, 2007 11:10 pm    Post subject: Reply with quote

Anche io uso email.it come hub e con queste impostazioni funge (tutto il resto è commentato):
Code:
mailhub=smtp.email.it
FromLineOverride=YES
AuthUser=xxxx
AuthPass=xxxx
Quasi sicuramente il rewriteDomain non è accettato dal server smpt di email.it

Per i log il mio ssmpt logga via syslog-ng su mail.log (ho una ripartizione dei log stile hardened) a volte mi è capitato di trovare il file di log nella home dell'utente che invoca sendmail
_________________
Please EU, pimp my country!

ICE: /etc/init.d/iptables panic
Back to top
View user's profile Send private message
gionnico
Apprentice
Apprentice


Joined: 29 Jun 2007
Posts: 192
Location: Italy

PostPosted: Tue Aug 28, 2007 11:40 pm    Post subject: Reply with quote

Uhm .. ho rimesso ssmtp :P

mrfree, l'ho impostato come te, ma non mi arrivano le emails ^_^

Tu come hai configurato revaliases e il php.ini?

Per caso serve di forwardare qualche porta nel router (la 25)?


PS: nello "stile normale" i log vanno su /var/log/messages , ma solo se ci sono problemi noti.. qui non logga nulla ma l'email non arriva :evil:
Back to top
View user's profile Send private message
gionnico
Apprentice
Apprentice


Joined: 29 Jun 2007
Posts: 192
Location: Italy

PostPosted: Wed Aug 29, 2007 12:22 am    Post subject: Reply with quote

Ho risolto ..

Sembra incredibile, ma il problema era nel php.ini:

Così è corretto, sendmail da solo non andava bene, era giusto il default sendmail -t -i (opzioni che peraltro NON sono supportate da ssmtp ma vengono ignorate .. :roll: )
Code:

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = /usr/sbin/sendmail
Back to top
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1415
Location: <ud|me|ts> - Italy

PostPosted: Wed Apr 22, 2009 8:47 pm    Post subject: Reply with quote

utilizzo sstmp per mandare qualche email da console, ma non trovo come si specifica l'oggetto. mah....
_________________
LP
Back to top
View user's profile Send private message
gionnico
Apprentice
Apprentice


Joined: 29 Jun 2007
Posts: 192
Location: Italy

PostPosted: Wed Apr 22, 2009 9:16 pm    Post subject: Reply with quote

lucapost wrote:
utilizzo sstmp per mandare qualche email da console, ma non trovo come si specifica l'oggetto. mah....

Uhm penso tu debba fare tutto da te, al massimo con uno script.

Puoi inserire il Subject negli header che precedono il testo... :P
Back to top
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1415
Location: <ud|me|ts> - Italy

PostPosted: Thu Apr 23, 2009 11:15 am    Post subject: Reply with quote

Grazie del consiglio, ho risolto con questo:

Code:
#!/bin/bash


function help () {
echo "Send a message using ssmtp by emulating the send-only behaviour of the mail command"
echo "which appeared in Version 6 AT&T UNIX. If you are not using mail in a pipe you"
echo "are expected to type in your message, followed by an \`control-D' at the beginning"
echo "of a line. The full name of the sender will be read from /etc/passwd but when \$MAIL_NAME"
echo "is set that name will be used instead."
echo
echo "Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] [-R reply-addr] to-addr ..."
echo "     -v    Verbose mode.  The details of delivery are displayed on the user's"
echo "           terminal."
echo "     -i    (ignored) Ignore tty interrupt signals.  This is particularly useful when"
echo "           using mail on noisy phone lines."
echo "     -I    (ignored) Forces mail to run in interactive mode even when input isn't a ter-"
echo "           minal.  In particular, the \`~' special character when sending mail"
echo "           is only active in interactive mode."
echo "     -n    (ignored) Inhibits reading /etc/mail.rc upon startup."
echo "     -s    Specify subject on command line (only the first argument after the"
echo "           -s flag is used as a subject; be careful to quote subjects contain­"
echo "           ing spaces.)"
echo "     -R    Specify reply-to adress on command line. Only the first argument"
echo "           after the -R flag is used as the address."
echo "     -c    (ignored) Send carbon copies to list of users."
echo "     -b    (ignored) Send blind carbon copies to list.  List should be a comma-separated"
echo "           list of names."
}

flags=""
subject=""
reply=""
bcc=""
cc=""
to=""

function hasNext () {
  [ -z "$1" ] && {
    help
    exit 1
  } || return 0
}

# start option processing
while test $# -gt 0 ; do
  case $1 in
    -i | -I | -n )
      # ignore
      shift ;;
    -v )
        flags="$flags -v"
        shift ;;
    -s )
      hasNext $2 && {
        subject=$2
        shift 2
      } ;;
    -c )
      hasNext $2 && {
        cc=$2
        shift 2
      } ;;
    -b )
      hasNext $2 && {
        bcc=$2
        shift 2
      } ;;
    -R )
      hasNext $2 && {
        reply=$2
        shift 2
      } ;;
    --help | -h )
        help
        exit 0 ;;
    -* )
       echo "$0: invalid option $1" >&2
       help
       exit 1 ;;
    * )
       to="$to $1"
       shift ;;
  esac
done

function tmp-file-name () {
  local name
  seconds=$(date +%s)
  count=0
  name=$seconds
  while [ -e /tmp/$name ] ; do
    name=$seconds.$count
    count=$[$count + 1]
  done
  echo /tmp/$name
}

tmpfile=$(tmp-file-name)

[ ! -z "$subject" ] && echo "Subject: $subject" >> $tmpfile
[ ! -z "$to" ] && echo "To: $to" >> $tmpfile
[ ! -z "$cc" ] && echo "Cc: $cc" >> $tmpfile
[ ! -z "$bcc" ] && echo "Bcc: $bcc" >> $tmpfile
[ ! -z "$reply" ] && echo "Reply-to: $reply" >> $tmpfile
echo >> $tmpfile

[ ! -z "${MAIL_NAME}" ] && mailname="-F${MAIL_NAME}"
sed 's/\$\.\^/\$\.\^/g' >> $tmpfile

cat $tmpfile | /usr/sbin/ssmtp $flags "$mailname" $to
rm -f $tmpfile

quindi mi spedisco i log con qualcosa del genere:
Code:
echo "mandi" |mail -v -s "prova mail" mail@dominio.it

grazie dell'aiuto.
_________________
LP
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum