Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Problema con sendmail in Debian 7

    ciao!

    ho installato sendmail su Debian 7 in modo da poter inviare email attraverso php.
    solo che non funziona.
    se do questo comando:
    codice:
    mail -s "Test" MIA_EMAIL
    non succede nulla ne da utente normale ne da root, nel senso che il terminale resta in attesa di non si sa cosa.
    se provo con questo comando:
    codice:
    # echo "Subject: test" /usr/sbin/sendmail MIA_EMAIL
    Subject: test /usr/sbin/sendmail MIA_EMAIL
    riesco a lanciarlo solo da root ma non arriva nulla.

    qualche consiglio??

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    523
    scusa, la prima banalità che mi viene in mente, hai configurato il servizio SMTP ?
    Codice PHP:
          $eM_Host     "smtp.example.com"// SMTP servizio mail
          
    $eM_Port     587;   // 25, 465, 587
          
    $eM_Auth     true;   // false (25) true (465, 587)
          
    $eM_Secure   "tls";   // "" (25) "ssl" (465) "tls" (587)
          
    $eM_username "name@example.com"// utente conosciuto dal servizio mail usato
          
    $eM_password "password";  // password dell'utente 

  3. #3
    ciao!

    sbaglio o questo è php??
    per in caso il mio problema è che non la invia neanche da terminale....

    sennò no ho ben capito dove dovrei mettere quella configurazione!

    il server aveva prima RHEL6 e funzionava tutto.
    ieri ho messo debian 7 e non riesco a farlo funzionare.
    o melgio, non riesco a far funzionare i comandi di cui sopra!

  4. #4
    Utente di HTML.it L'avatar di pilovis
    Registrato dal
    Mar 2001
    Messaggi
    3,273
    In Ubuntu server e credo che in Debian 7 sia lo stesso, occorre fare alcune modifiche al file di default "/etc/mail/sendmail.mc":

    commentare le due seguenti righe:

    DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
    DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl

    che diventano quindi:

    dnl DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
    dnl DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl


    senza di questo sendmail ascolta solo su localhost e ignora le richieste che arrivano da qualsiasi indirizzo, incluso l'indirizzo IP locale del server,

    poi, se vuoi smistare la posta in arrivo verso utenti locali, devi aggiungere la seguente linea:

    MAILER(`procmail')

    nota: le righe "MAILER(..." devono essere messe tutte alla fine del file.
    ovviamente devi avere procmail installato: apt-get install procmail (verifica ma credo lo sia di default).

    Se poi ancora vuoi gestire piu' domini di posta, devi aggiungere la funzione Virtusertable aggiungendo la seguente linea e creando poi il file "/etc/mail/virtusertable" per la configurazione:

    FEATURE(`virtusertable')

    nota: da inserire prima di tutte le righe "MAILER(..."
    La funzione Virtusertable ti permette di definire le regole per smistare la posta verso utenti interni o reindirizzarla altrove, esempio di configurazione "/etc/mail/virtusertable":

    # indirizzo email > utente o altro indirizzo
    info@miodominio.net paolo
    supporto@miodominio.net luca

    gianni@altrodominio.com gianni
    pino@altrodominio.com pino@hotmail.com
    # genera messaggio di errore specifico per un indirizzo
    abuse@miodominio.net error:nouser questo indirizzo e' inattivo usare abuse@altrodominio.com

    Tutti i domini abilitati a ricevere posta devono essere messi dentro il file "/etc/mail/local-host-names", esempio:

    localhost
    miodominio.net
    altrodominio.com

    Fatto questo per rendere attive le modifiche, devi ricostruire il database e riavviare sendmail con i seguenti comandi:

    su - root
    m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
    service sendmail restart

    --------------------------------

    Ricapitolando, questi sono i files di configurazione di Sendmail per Ubuntu/Debian:

    /etc/mail/access File database di accesso di sendmail (regole di relay e di blocco)
    /etc/mail/aliases Alias delle caselle di posta
    /etc/mail/local-host-names Lista di host per i quali sendmail accetta posta
    /etc/mail/mailer.conf File di configurazione del programma di posta
    /etc/mail/mailertable Tabella di consegna del programma di posta (io non lo uso perche' uso procmail)
    /etc/mail/sendmail.cf File di configurazione principale di sendmail
    /etc/mail/virtusertable Tabelle degli utenti e dei domini virtuali

    --------------------------------

    un esempio del mio file di configurazione per Ubuntu/Debian server:

    divert(-1)dnl
    #-----------------------------------------------------------------------------
    # $Sendmail: debproto.mc,v 8.14.3 2010-02-15 09:38:10 cowboy Exp $
    #
    # Copyright (c) 1998-2009 Richard Nelson. All Rights Reserved.
    #
    # cf/debian/sendmail.mc. Generated from sendmail.mc.in by configure.
    #
    # sendmail.mc prototype config file for building Sendmail 8.14.3
    #
    # Note: the .in file supports 8.7.6 - 9.0.0, but the generated
    # file is customized to the version noted above.
    #
    # This file is used to configure Sendmail for use with Debian systems.
    #
    # If you modify this file, you will have to regenerate /etc/mail/sendmail.cf
    # by running this file through the m4 preprocessor via one of the following:
    # * make (or make -C /etc/mail)
    # * sendmailconfig
    # * m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
    # The first two options are preferred as they will also update other files
    # that depend upon the contents of this file.
    #
    # The best documentation for this .mc file is:
    # /usr/share/doc/sendmail-doc/cf.README.gz
    #
    #-----------------------------------------------------------------------------
    divert(0)dnl
    #
    # Copyright (c) 1998-2005 Richard Nelson. All Rights Reserved.
    #
    # This file is used to configure Sendmail for use with Debian systems.
    #
    define(`_USE_ETC_MAIL_')dnl
    include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
    VERSIONID(`$Id: sendmail.mc, v 8.14.3-9.1ubuntu1 2010-02-15 09:38:10 cowboy Exp $')
    OSTYPE(`debian')dnl
    DOMAIN(`debian-mta')dnl
    dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
    undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS=
    dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
    dnl #
    dnl # General defines
    dnl #
    dnl # SAFE_FILE_ENV: [undefined] If set, sendmail will do a chroot()
    dnl # into this directory before writing files.
    dnl # If *all* your user accounts are under /home then use that
    dnl # instead - it will prevent any writes outside of /home !
    dnl # define(`confSAFE_FILE_ENV', `')dnl
    dnl #
    dnl # Daemon options - restrict to servicing LOCALHOST ONLY !!!
    dnl # Remove `, Addr=' clauses to receive from any interface
    dnl # If you want to support IPv6, switch the commented/uncommentd lines
    dnl #
    FEATURE(`no_default_msa')dnl
    dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
    dnl DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
    dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl
    dnl DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
    dnl #
    dnl # Be somewhat anal in what we allow
    define(`confPRIVACY_FLAGS',dnl
    `needmailhelo,needexpnhelo,needvrfyhelo,restrictqr un,restrictexpand,nobodyreturn,authwarnings')dnl
    dnl #
    dnl # Define connection throttling and window length
    define(`confCONNECTION_RATE_THROTTLE', `15')dnl
    define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
    dnl #
    dnl # Features
    dnl #
    dnl # use /etc/mail/local-host-names
    FEATURE(`use_cw_file')dnl
    dnl #
    dnl # The access db is the basis for most of sendmail's checking
    FEATURE(`access_db', , `skip')dnl
    dnl #
    dnl # The greet_pause feature stops some automail bots - but check the
    dnl # provided access db for details on excluding localhosts...
    FEATURE(`greet_pause', `1000')dnl 1 seconds
    dnl #
    dnl # Delay_checks allows sender<->recipient checking
    FEATURE(`delay_checks', `friend', `n')dnl
    dnl #
    dnl # If we get too many bad recipients, slow things down...
    define(`confBAD_RCPT_THROTTLE',`3')dnl
    dnl #
    dnl # Stop connections that overflow our concurrent and time connection rates
    FEATURE(`conncontrol', `nodelay', `terminate')dnl
    FEATURE(`ratecontrol', `nodelay', `terminate')dnl
    dnl #
    dnl # If you're on a dialup link, you should enable this - so sendmail
    dnl # will not bring up the link (it will queue mail for later)
    dnl define(`confCON_EXPENSIVE',`True')dnl
    dnl #
    dnl # Dialup/LAN connection overrides
    dnl #
    include(`/etc/mail/m4/dialup.m4')dnl
    include(`/etc/mail/m4/provider.m4')dnl
    dnl #
    FEATURE(`virtusertable')
    dnl # Default Mailer setup
    MAILER_DEFINITIONS
    MAILER(`local')dnl
    MAILER(`smtp')dnl

    MAILER(`procmail')
    DAEMON_OPTIONS(`Name=MTA,Modifiers=f')
    Ultima modifica di pilovis; 14-12-2014 a 17:19
    Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

  5. #5
    Utente di HTML.it L'avatar di pilovis
    Registrato dal
    Mar 2001
    Messaggi
    3,273
    Dimenticavo, devi anche dire a sendmail di fare il relay (invio) della posta dagli indirizzi autorizzati.
    Il file di configurazione e' "/etc/mail/access"

    Ad esempio per permettere l'invio della posta da localhost devi inserire:

    Connect:localhost RELAY
    GreetPause:localhost 0
    ClientRate:localhost 0
    ClientConn:localhost 0
    Connect:127 RELAY
    GreetPause:127 0
    ClientRate:127 0
    ClientConn:127 0


    - se vuoi permettere l'invio anche da tutta la tua LAN devi aggiungere:

    # permette l'invio della posta da tutta la classe IP 192.168.0.0/16
    Connect:192.168 RELAY

    - per bloccare un indirizzo mail, un dominio, un indirizzo Ip o una classe intera di indirizzi IP (antiSPAM):

    # blocca l'intera classe di IP 210.0.0.0/8
    210 REJECT
    #blocca singolo IP
    72.15.32.132 REJECT
    # blocca un dominio e tutti i suoi sottodomini
    krasnet.ru REJECT
    # blocca un singolo indirizzo email
    spammerone.maledetto@gmail.com REJECT

    nota: al posto di REJECT si puo' anche usare DISCARD
    REJECT: rimanda la mail al mittente con un messaggio di posta rifiutata
    DISCARD: la cancella silenziosamente e non da nessuna notifica al mittente

    REJECT e' molto utile per gli spammers, che di solito dopo un po' cancellano il nostro indirizzo perche' non utilizzabile, con discard invece continueranno a mandarci schifezze perche' per loro la mail risulta consegnata senza nessun errore e quindi valida.

    Sendmail ha altre mille funzionalita' che nella maggior parte dei casi non vengono utilizzate, non per niente e' il piu' potente e affidabile MTA esistente per sistemi Posix.
    Io l'ho usato per 10 anni su decine di servers Red Hat e Ubuntu/Debian con centinaia di domini e migliaia di utenti di posta e non mi ha mai dato un solo problema, Sendmail se ben configurato e' una roccia!
    Ultima modifica di pilovis; 14-12-2014 a 17:51
    Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

  6. #6
    ciao!

    intanto grazie per la spiegazione!

    a me servirebbe solo per invio, in quanto lo userei per inviare newsletter con email prese da un db.

    ho cercato di seguire alla lettera quello che mi dici ma ho ancora due problemi:
    -su gmail arriva ma in spam; su hotmail e yahoo non arriva nulla, e a questo punto penso dipenda dai filtri antispam
    -su gmail arriva con mittente root@dominio.it, ma considera che il server è dentro l'ufficio e non ci è associato un dominio; come dominio ci ho messo quello del nostro sito, come se le email arrivassero da li

    hai qualche consiglio al riguardo??

  7. #7
    Utente di HTML.it L'avatar di pilovis
    Registrato dal
    Mar 2001
    Messaggi
    3,273
    Se la mail e' arrivata su Gmail vuol dire che sendmail e' configurato correttamente.

    Su yahoo e su hotmail non e' arrivata perche' quasi tutti i providers respingono le mails che arrivano da mittenti con domini fasulli, Gmail invece le consegna ma le fa finire nella cartella spam.

    Nel tuo caso il dominio.it e' fasullo perche' facendo un lookup per quel dominio si vede che dovrebbe avere un IP diverso da quello del tuo ufficio, crea un dominio di terzo livello ufficio.dominio.it e collegalo al giusto IP e dovrebbe funzionare tutto.
    Ultima modifica di pilovis; 17-12-2014 a 17:40
    Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

  8. #8
    il dominio di terzo livello legato a quell'ip già ce l'ho.
    in quanto questo server funge da web server per i clienti.

    in sostanza, quindi, si tratta di impostare quel dominio nel file di configurazione che mi hai indicato prima??

  9. #9
    Utente di HTML.it L'avatar di pilovis
    Registrato dal
    Mar 2001
    Messaggi
    3,273
    Il file /etc/mail/local-host-names di Sendmail serve solo per far sapere a Sendmail quali sono i domini per cui lui deve accettare la posta.

    Devi lavorare sul DNS autoritativo del tuo dominio per settare il parametro MX e legarlo all'indirizzo IP pubblico della macchina che fa da MTA.

    Esempio di parametri per Bind:

    dominio.it MX 10 mail.dominio.it.
    mail A 81.22.134.21


    Occhio che certi providers "puzzini" (es. Yahoo) pretendono anche che sia settata la risoluzione inversa per l'IP pubblico associato al parametro MX (Mail eXchange), altrimenti respingono la posta, altri ancora non accettano la posta se arriva da indirizzi IP dinamici, anche se sono associati ad un dominio di terzo livello, se il tuo provider ha dichiarato al RIPE che quella classe di IP e'dinamica, oppure se il record di risoluzione del dominio legato al parametro MX e' un CNAME (alias), il mailserver li sopra difficilmente riesci a farlo funzionare per l'invio della posta.

    Ormai quasi tutti i providers, per combattere il fenomeno SPAM, fanno un NSLookup in tempo reale per ogni mail che arriva e se i parametri del DNS non sono piu' che a posto, rifiutano la posta.
    Ultima modifica di pilovis; 18-12-2014 a 17:01
    Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.