Come submit email con il mio server CentOS?

Ho appena costruito un modesto server home utilizzando CentOS 5.5. Voglio che il server sia in grado di submit e-mail al mio account Gmail o ad altri account di posta elettronica per varie attività come i lavori cron. Inoltre sarebbe bello essere in grado di submit e-mail tramite applicazioni PHP che ho eseguito / sviluppare anche sul server. O anche essere in grado per il server di submit messaggi di posta elettronica tramite il command di posta.

So che ci sono milioni di risultati di ricerca di Google per impostare il tuo server Linux come server di posta elettronica o configurare sendmail ecc. Ma non sembrano essere quello che sto cercando … alless non credo. Non sto cercando di configurare un server aziendale che altri clienti possono connettersi per submit messaggi di posta elettronica o qualcosa di complicato in questo modo.

  • jailkit chroot termina il login ssh
  • Banda limitata e velocità di trasferimento per utente
  • Confusione con Jenkins Docker Plugin e Jenkins Docker Slaves
  • Postfix da indirizzo modificato, posta rimossa
  • C'è un software desktop remoto accessibile tramite un browser per linux?
  • Disco 2TB installato nel server ubuntu, dmesg lo segnala come 9444732965540666 MB
  • Voglio solo che il mio server mi invia messaggi di posta elettronica. Sembra che dovrebbe essere semplice … Qualcuno può dirmi nella giusta direzione?

    AGGIORNARE

    Per una richiesta di utenti di seguito, ho provato questo command:

    /bin/mail -s "My Subject" "myaddress@gmail.com" < /home/john/test 

    Nessun errore o niente. Ma l'email non è mai apparsa nella mia casella di posta. Ecco il mio maillog

     Oct 27 00:52:19 localhost sendmail[13702]: o9R6qJhU013702: from=root, size=10906, class=0, nrcpts=1, msgid=<201010270652.o9R6qJhU013702@localhost.localdomain>, relay=root@localhost Oct 27 00:52:19 localhost sendmail[13703]: o9R6qJOd013703: from=<root@localhost.localdomain>, size=11209, class=0, nrcpts=1, msgid=<201010270652.o9R6qJhU013702@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1] Oct 27 00:52:19 localhost sendmail[13702]: o9R6qJhU013702: to=myaddress@gmail.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=40906, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o9R6qJOd013703 Message accepted for delivery) 

    Qualsiasi indizio?

  • Come verificare se un amministratore ha visualizzato il log di controllo della protezione?
  • Visualizzazione dell'utilizzo della RAM della cache di SQL?
  • Windows 7 inizia un classico tema desktop a less che il registro amministrativo in primo luogo
  • Imansible spostare OU in Active Directory (accesso negato)
  • NTP: il client Linux non sincronizza con il server Win7 in esecuzione ntpd (non w32time)
  • Cancellare il cestino per tutti gli utenti in Windows Server 2008 R2
  • 8 Solutions collect form web for “Come submit email con il mio server CentOS?”

    /bin/mail -s "Enter Subject Line here" -a /home/.../whateverFileYouWantAttached "you@YourEmailAddress" < /home/me/textBody.letter

    provare sopra il command 🙂

    Risposta semplice:

    Impostare sendmail . Dipenderà dalla tua distribuzione, ma questo non è affatto difficile. Se hai domande specifiche, chiedete via.

    Risposta complessa:

    Se stai chiedendo questo, probabilmente non dovresti solo saltare la pistola e impostare ancora sendmail justtt .

    Dovrai prendere in considerazione alcune cose:

    1. Il tuo ISP ti permette di submit e-mail? Potresti essere su un'interface IP non server e pertanto molti provider di posta elettronica bloccheranno il tuo diritto.

    2. Quale indirizzo utilizzerà come tuo indirizzo? Sei autorizzato a submit da questo indirizzo (SPF, DomainKeys, ecc.)? In caso contrario, i tuoi messaggi potrebbero essere rilevati come spam dai provider di posta elettronica – e giustamente così.

    3. Ultimo, ma certamente non less importnte: hai davvero bisogno di utilizzare il tuo servizio SMTP? Qualsiasi motivo per cui utilizzare i propri ISP non è abbastanza buono?

    Di nuovo nei giorni, l'installazione di un server SMTP non era un grosso problema. Oggi, la configuration può essere più facile, ma impostandola in modo che effettivamente ottiene messaggi alle cassette postali delle persone , è una sfida.

    Posso confermare che nessuno dei suggerimenti sopra riportti stia lavorando sul mio sistema CentOS a casa, né una sola. Che è fastidioso!

    Poi ho provato lo stesso su un'istanza di Amazon che esegue CentOS 6.4 e, anche con la configuration predefinita, posso submit messaggi senza problemi. Tutto quello che wherevo fare era

     yum install mailx 

    dopo di che l'invio della posta come sopra descritto funziona come un fascino. L'installazione di complicazioni come sendmail non è necessaria per quello che Jakub sta cercando di fare.

    Deve essere una configuration con il mio ISP, poiché non ho qui un firewall configurabile.

    È necessario eseguire le seguenti operazioni:

    1. sudo yum install postfix telnet mailx
    2. sudo /etc/init.d/postfix start
    3. sudo vi /etc/postfix/main.cf
    4. Modifica mydestination = mydomain.com, localhost.mydomain.com, localhost

      a

      mydestination = localhost.mydomain.com, localhost

    Prova utilizzando la seguente row di command

    1. mail address@example.com Oggetto:
    2. Testare l'email da demoslice.com Test
    3. corpo dell'email.
    4. .

    No. 4 – c'è solo una tappa completa per completare il corpo dell'email. Dovresti avere la posta.

    Quanto sopra si otterrà un funzionante MTA (Mail Transfer Agent). Alcune risorse che ti aiuteranno con una configuration più avanzata possono essere trovate negli articoli di slicehost sull'installazione di posta elettronica di CentOS (scorri fino alla sezione CentOS e Email). Si consiglia di considerare correttamente l'impostazione corretta di: hostname, RDNS (Reverse DNS) e SPF (Sender Policy Framework) con il provider DNS.

    Hai modificato il tuo /etc/mail.rc per impostare l'indirizzo smtp?

    Provare a installare il postfix e impostare la mydestination nel file di configuration anche se dovrebbe funzionare con sendmail.

    Postfix è sulla buona strada, ma a less che gmail non creda di essere legittimamente remoto (ad esempio, non sei uno spammer), la tua posta inviata è piuttosto improbabile.

    Il process è un po 'coinvolto per pubblicare qui, ma il modo più semplice che ho trovato di realizzarlo (e avere la tua mail consegnato) è quello di impostare postfix come relè, utilizzando il tuo account gmail come un trasporto.

    Il process che uso è dettagliato qui:

    http://rs20.mine.nu/w/2011/07/gmail-as-relay-host-in-postfix/

    Non è necessaria la creazione di autografi autografati (come per sendmail) e nella mia esperienza, funziona semplicemente!

    La soluzione facile non è sendmail, ma sendEmail:

    http://caspian.dotconf.net/menu/Software/SendEmail/#download

    Uno script perl che è facilmente configurato per submit via qualsiasi server SMTP è ansible – lo utilizzo per submit conti di Gmail per tutto il tempo, ma funziona anche per SMTP ordinario su TCP sulla port 25 ecc.

    Di solito avvolgo lo script perl script sendEmail con il mio script di shell per Gmail:

     #!/bin/bash # Send gmail through an account specified in ~/.sendGmailAuthFile (or file identified with -k.) # The auth file must have values for the -f (from@domain) and -xp (password) options of sendEmail, # structured as: # # user=me.surnamen@gmail.com # pwd=xxxxxxx # # We will fill in the rest, and other params are passed through to sendEmail # # Example: sendGmail -u "My subject line" -t "test@whatever.com" < message.txt function sendGmailImmed { local authFile="$HOME/.sendGmailAuthFile" for arg in "$@"; do if [[ "$arg" == "-k" ]]; then shift authFile="$1" shift fi done initAuthFile $authFile source $authFile sendEmail -f $user -xu $user -xp $pwd -s smtp.gmail.com:587 -o tls=yes "$@" } function initAuthFile { # If the authfile doesn't exist, we'll create a dummy: if [[ ! -f $1 ]]; then echo "# sendGmail authentication file: " > $1 echo "user=my.name@gmail.com" >> $1 echo "pwd=my-password" >> $1 echo "A shell auth file has been created as $1" fi } if [[ -z $sourceMe ]]; then sendGmailImmed "$@" fi 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.