Her er en guide på at få e-mail tjenester, der kører på Ubuntu Intrepid. Jeg brugte Postfix for de centrale tjenester (SMTP med TLS og SASL) og Dovecot til hurtige IMAP og POP3. Denne tutorial er blevet testet på en skelettet Ubuntu 8,10 skive fra Slicehost.
Præambel
Estimeret tid: 10-15 minutter
Denne guide gør flere antagelser. For eksempel antager, at du vil bruge Maildir. Hvis du vælger at foretage ændringer, bare holde øje med eventuelle senere ændringer, der kan være behov ned på linjen. Hvis du opgraderer fra et andet system, som Courier, kan du se på tillæg A .
Hvis du foretrækker Postfix og Courier, henvise til min ældre tutorial , der er rapporteret til at arbejde med Ubuntu Intrepid.
Postfix
Lad os få kerne email funktionalitet i gang med Postfix:
1 | aptitude install postfix sasl2-bin |
Du vil blive bedt om et par spørgsmål med en dejlig grafisk brugerflade. Her er svar for nogle af dem. with your server's FQDN (eg swift.jonsview.com). Erstat alle forekomster af example.com med din root FQDN (f.eks jonsview.com), og server1.example.com med serverens FQDN (f.eks swift.jonsview.com).
General type af post-konfiguration? Hjemmeside på Internettet
System mail navn? Server1.example.com
Desværre skal det grafiske konfiguration interface, der blev automatisk lanceret var en komprimeret version. Du vil skulle køre den fulde grafiske konfigurationsværktøj.
1 | dpkg-reconfigure postfix |
Igen, vil du blive bedt om nogle spørgsmål:
General type af post-konfiguration? Hjemmeside på Internettet
System mail navn? Server1.example.com
Root og postmester mail modtager? Efterlad blank
Andre destinationer at acceptere mail for? Server1.example.com, example.com, localhost.example.com, localhost
Force synkrone opdateringer på mail kø? Nej
Lokale netværk? Leave default (127.0.0.0 / 8 [:: ffff: 127.0.0.0] / 104 [:: 1] / 128)
Postkasse størrelse grænse (bytes)? 0
Lokale adresse forlængelse karakter? Leave default (+)
Internet-protokoller til at bruge? IPv4 (mest sandsynligt)
Næste, lad os tage sig af certifikater for TLS. Du vil blive bedt om en række spørgsmål under denne proces. Udfyld dem i som du ønsker det.
1 2 3 4 5 6 7 8 9 | etc / postfix / ssl mkdir / etc / postfix / ssl etc / postfix / ssl / cd / etc / postfix / ssl / etc / hosts -out smtpd.key 1024 openssl genrsa-des3-rand / etc / hosts-out smtpd.key 1024 smtpd.key chmod 600 smtpd.key smtpd.csr openssl req-new-key smtpd.key-out smtpd.csr -in smtpd.csr -signkey smtpd.key -out smtpd.crt openssl x509-req-days 3.650-in smtpd.csr-signkey smtpd.key-out smtpd.crt smtpd.key.unencrypted openssl rsa-in smtpd.key-out smtpd.key.unencrypted smtpd.key.unencrypted smtpd.key MV-f smtpd.key.unencrypted smtpd.key cakey.pem -out cacert.pem -days 3650 openssl req-new-x509-extensions v3_ca-keyout cakey.pem-out cacert.pem-dag 3650 |
Finish konfigurere Postfix til TLS og SASL.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | postconf-e 'smtpd_sasl_local_domain =' postconf-e 'smtpd_sasl_auth_enable = yes' postconf-e 'smtpd_sasl_security_options = noanonymous' postconf-e 'broken_sasl_auth_clients = yes' postconf-e 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination' postconf-e 'inet_interfaces = alle' >> / etc / postfix / sasl / smtpd.conf echo 'pwcheck_method: saslauthd'>> / etc / postfix / sasl / smtpd.conf >> / etc / postfix / sasl / smtpd.conf echo 'mech_list: plain login'>> / etc / postfix / sasl / smtpd.conf postconf-e 'smtpd_tls_auth_only = nej postconf-e 'smtp_use_tls = yes' postconf-e 'smtpd_use_tls = yes' postconf-e 'smtp_tls_note_starttls_offer = yes' postconf-e 'smtpd_tls_key_file = / etc / postfix / ssl / smtpd.key' postconf-e 'smtpd_tls_cert_file = / etc / postfix / ssl / smtpd.crt' postconf-e 'smtpd_tls_CAfile = / etc / postfix / ssl / cacert.pem' postconf-e 'smtpd_tls_loglevel = 1' postconf-e 'smtpd_tls_received_header = yes' postconf-e 'smtpd_tls_session_cache_timeout = 3600s' postconf-e 'tls_random_source = dev: / dev / urandom' postconf-e 'mitvaertsnavn = server1.example.com' postconf-e 'home_mailbox = Maildir /' postconf-e 'mailbox_command =' |
Endelig, genstart Postfix
1 | init.d / postfix restart / Etc / init.d / postfix restart |
SASL
Authentication skal ske ved saslauthd som skal være konfigureret til at støtte en chrooted Postfix setup. Rediger / etc / default / saslauthd og tilføje eller ændre følgende indstillinger, så de matcher:
1 2 | START = yes OPTIONS = "-c-m / var / spool / postfix / var / run / saslauthd" |
Finish op SASL ved at skabe det chroot bibliotek, og indsæt det postfix bruger til sasl gruppen, og derefter starte saslauthd.
1 2 3 4 | / var / spool / postfix / var / run / saslauthd mkdir-p / var / spool / postfix / var / run / saslauthd / var / spool / postfix / var / run / saslauthd dpkg-statoverride - tilføj rod sasl 710 / var / spool / postfix / var / run / saslauthd adduser postfix sasl init.d / saslauthd start / Etc / init.d / saslauthd start |
Test
På dette punkt bør kerne email-tjenester være oppe og køre. Lad os sørge for, at du er i god form inden du går videre. Først oprette en forbindelse med mailserveren.
1 | telnet localhost 25 |
Efter establsihing forbindelse med Postfix service, køre:
1 | EHLO localhost |
Du bør se et par linjer af output. Sørg for, at de to vigtigste strækninger er der:
1 2 3 4 | . . . 250-STARTTLS 250-AUTH PLAIN LOGIN . . . |
Type afslut for at komme ud.
Dovecot
Bemærk: Hvis du fulgte mit sidste guide og flytter fra Courier, kan du se tillæg A , før du fortsætter.
Installere og konfigurere Dovecot.
1 2 3 | aptitude install dovecot-imapd dovecot-pop3d 's/#mail_location =/mail_location = maildir:\/home\/\%u\/Maildir/' / etc / dovecot / dovecot.conf perl-pi-e 's / # mail_location = / mail_location = maildir: \ / home \ / \% u \ / Maildir /' / etc / dovecot / dovecot.conf init.d / dovecot restart / Etc / init.d / dovecot restart |
Hvis alt gik glat, bør du nu være i e-mailen nirvana. Hver bruger har deres egen e-mail konto, og du kan gå videre til virtuelle konti, hvis du ønsker det.
Tillæg A: Courier til Dovecot Conversion
Se denne Dovecot wiki artiklen til detaljerede oplysninger, men i en nøddeskal:
1 2 3 | www.dovecot.org / tools / courier-dovecot-migrate.pl wget http:// www.dovecot.org / værktøjer / kurer-dovecot-migrate.pl courier-dovecot-migrate.pl chmod 755 kurer-dovecot-migrate.pl / home . / Kurer-dovecot-migrate.pl - to-dovecot - rekursiv / home |
Hvis alt ser godt ud, derefter udfører den egentlige konvertering.
Bemærk: Selvom 0 postkasse ændringer er vist, kan scriptet stadig arbejder. Hvis der ikke er nogen eksplicit fejl, køre konvertering og derefter tjekke brevmapper for dovecot indekser.
1 | / home . / Kurer-dovecot-migrate.pl - to-dovecot - omforme - rekursiv / home |
For en gennemsigtig konvertering, du bliver nødt til at setup Dovecot at bruge INBOX som namespace for private postkasser. ). Rediger / etc / dovecot / dovecot.conf og afkommentere navneområdet private (blok (og tilsvarende)). (include the period). Afkommentér # prefix = og skifte til prefix = INBOX. (Omfatte perioden). . Endelig ændre # indbakke = nej til indbakke = ja. Kort sagt bør det se ud som følgende, der er blevet renset for kommentarer til kortfattethed.
1 2 3 4 | namespace private ( prefix = indbakke. indbakke = yes ) |
Tillæg B: SMTP Fejlfinding
Hvis kerne-mail-tjenester og IMAP arbejder, men ikke SMTP, så er det mest sandsynligt, at sasl ikke er sat ordentligt op. Log indgange som følgende i / var / log / mail.warn vil bekræfte dette:
1 | 27 marts 00:36:56 hurtig postfix / smtpd [12537]: warning: SASL fejlslagen ægthedsbekræftelse: kan ikke forbinde til saslauthd server: Ingen sådan fil eller mappe |
Sidste ord
Jeg har altid fundet oprette email-tjenester på Linux en smerte, så forhåbentlig har hjulpet dig med at få op at køre. Lad mig vide, hvis du finder fejl eller har forslag, der ville gøre denne guide lettere at forstå.














comments… read them below or add one } (31 kommentarer ... læse dem nedenfor eller tilføj en )
når jeg prøver at køre denne kommando "perl-pi-e 's / # mail_location = / mail_location = maildir: / home /% u / Maildir /' / etc / dovecot / dovecot.conf", fik jeg en fejl og kan ikke fortsætte.
Her er detaljerne:
syntaksfejl at-e line 1, i nærheden af "s / # mail_location = / mail_location = maildir: / home"
Udførelse af-e aborteres som følge af udarbejdelse fejl.
Kan du give mig nogle forslag?
BTW, ignorerer fejlene ovenfor, kan jeg bruge evaluering til at sende og modtage e-mail fra min konfigureret server, men når jeg forsøger at bruge Outlook Express i Windows, kan jeg kun sende e-mail, men kan ikke modtage det ene, OE altid lynhurtig mig om password. Hvad er problemet i denne sag?
Tak!
David, Ser ud som jeg glemte at undslippe skråstreger. Prøv dette:
[Cc lang = "bash"] perl-pi-e 's / # mail_location = / mail_location = maildir: \ / home \ / \% u \ / Maildir /' / etc / dovecot / dovecot.conf [/ cc]
og derefter genstarte Dovecot.
ja! Det er okay nu!
ENH ...., Men ved hjælp af OE er stadig et problem i at modtage en e-mail
Den adfærd konstant beder om password tyder på, at en forbindelse er ved at blive lavet. Jeg vil hoved til den server logs, som skal oplyse, hvorfor tilladelsen afvises.
Er dette understøttet funktion / let at sætte op på 64-bit hardware og Ubuntu OS?
Daniel, ja. Faktisk skrev jeg den guide gå gennem min x86_64 Ubuntu installation. Jeg kan forestille mig, at Ubuntu installation og konfiguration vil være den samme for både 32 og 64-bit.
Hej, tak for en stor tut.
Hvor du sagde ting om at sætte den op med din rod FQDN og server1.example.com (server FQDN), hvad nu hvis min slicehost server er simpelthen mywebsite.org? Jeg har ikke nogen underdomæne for det. Ville jeg mywebsite.org i begge tilfælde, eller har du betyder for mig at sætte noget i mywebsite.org som root og mail.mywebsite.org som systemet mail-navn?
Sam, vil du bruge noget i retning af mail.mywebsite.org. For eksempel er værtsnavnet på den server, der kører denne blog "bambus", så jeg bruger FQDN (bamboo.jonsview.com) i Postfix konfiguration. Husk også, at den adresse, der anvendes til e-mail skal matche den omvendte DNS og MX records, som begge bruger den samme FQDN.
En anden lille side tip: værtsnavnet ikke matche ethvert domæne, som er beregnet til brug på serveren. For eksempel, du ville, hvis brug user@example.org , så værtsnavnet ikke bør example.org men noget unikt, såsom server1.example.org.
Ok, jeg satte den op ved hjælp mail.mywebsite.org (min hjemmeside er http://www.mywebsite.org i dette eksempel).
Jeg ønskede at gøre alt dette, så jeg kunne bruge mail på mit phpBB forum hosted på min dedikeret server. Dybest mail var ikke i orden (bruger autentifikation e-mails og sådan). Jeg er ikke helt sikker på, hvad indstillinger for at bruge nu, selv om. Jeg har sat det op til arbejde gennem den lokale smtp server, men der er 3 kasser jeg sikker på, hvad for at sætte ind
Authentication metode til SMTP - valgmuligheder er almindeligt, LOGIN, CRAM-MD5, DIGEST-MD5, POP-før-SMTP - "Kun anvendes, hvis en brugernavn / password er indstillet, så spørg din udbyder, hvis du er usikker på hvilken metode der skal bruges."
SMTP-brugernavn - "Kun indtaste et brugernavn, hvis din SMTP-server kræver det."
SMTP-adgangskode - "Kun indtaste en adgangskode, hvis din SMTP-server kræver det."
Overvejer jeg gjorde mit installere stort set præcis som du skrev ovenfor (med undtagelse af min egen adgangsnøgle i ssl bibliotek), hvad tror du min opsætning kan være?
Nevermind! Fundet ud af det!
Fremragende! Glad for at høre, at du fik det til at virke.
Jon:
Jeg tror, du har gemt mig fra institutionalisering. Mange tak for din hjælp. Hvis du har brug for at lære, hvordan svært at skubbe afbryderen på en Pavilion, så lad mig vide: I (beskedent) betragter mig selv lidt af en ekspert.
blå
Er der nogen speciel måde at tilføje brugere til e-mail system? Ophævelse af sudo useradd navn?
olboy, ja, virtuel bruger / bokse er mulige. Det har været år siden jeg har brugt dem (og på en Exim setup), men Dovecot synes at have en lignende kapacitet. Her er linket: http://wiki.dovecot.org/VirtualUsers .
Nå det virker fint, bortset fra SSL på SMTP.
Er der nogen måde at gøre det muligt for dette?
Tak for en fantastisk guide!
Beklager, TLS er, hvad jeg ønskede.
Synes at min virus-scanner gør ikke TLS, så jeg deaktiveret scanning af udgående meddelelser.
Alt virker nu! wee
Jeg vil gerne vide, hvor jeg kan få EHLO værktøj coz jeg bruger Ubuntu 9,04 server og istalled postfix separate eller whats inkluderet i ubuntu pakke ingen socha ting som EHLO ..
ok aldrig mening om EHLO jeg netop opdage et andet problem efter
. / Kurer-dovecot-migrate.pl-til-dovecot-rekursive / home
Jeg har fået fejl nr. brevmapper fundet
Jeg justeret fast perl version.
thx
Rossi,
Hvis du vandrer fra kurer være sikker på at læse wikien til de seneste oplysninger: http://wiki.dovecot.org/Migration/Courier .
Du behøver kun at følge instruktionerne i tillæg A, hvis du vandrer fra et eksisterende setup. Hvis dette virkelig er tilfældet, en mulighed er, at din kurer konfiguration bruger ældre postkassen format snarere end Maildir, men at migration er uden for rammerne af denne artikel.
er det noget mail-server program, som ville være nemt at setup jeg mener, uden at disse mile lang config filer, nogle gode gui bare tilføje FQDNs, IP, brugere / passwd nogle mail dir kvote, noget Loke det.
GMail, MobileMe? Du kan altid splurge for et kontrolpanel, der vil hjælpe med nogle af dette, men mile lang config filer er bare en typisk dag i livet af en Linux systemadministrator ... Har du overvejet en managed service fra en person, som MediaTemple ?
Hej,
im en newbie .. bruger linux for de seneste tre måneder .. arbejder i øjeblikket med Django-postgresql ansøgning ..
jeg fulgt alle de skridt, som u, til at oprette e-mail-server i min maskine. im benytter ubuntu9.04 .. når jeg giver "telnet localhost 25" det viser mig på denne måde,
Forsøger:: 1 ...
Forsøger:: 1 ...
Forsøger 127.0.0.1 ...
Forbundet til localhost.
Escape karakter er'^]'.
Forbindelse lukket af udenlandske vært.
hvad der kunne være problemet?
Problem med SASL
Se dette link!
http://www.vivaolinux.com.br/dica/Smtp-autenticado-erro-SASL/
Jeg har ikke ord til at sige tak, du har gjort et stort stykke arbejde, må Gud velsigne jer, Knus fra Cuba
Hej, jeg er nødt til at gå igennem hver enkelt brugers mappe og oprette Maildir bibliotek, eller vil de allerede er der, når jeg setup dovecot for Maildir?
Hvis jeg husker rigtigt, vil mapper blive oprettet for dig første gang du setup kontoen for brugeren. Du vil måske henvise til dovecot wiki for bekræftelse.
Great info!
Tak en meget, det var altid så pinligt kompliceret, denne gang jeg virkelig brugt noget mere end 10min indstilling alle op, fantastisk!
I bunden af min / var / log / mail.warn Jeg får fejlen:
dovecot: Dræbt med signal 15 (af pid = 1793 uid = 0 code = dræbe)
Jeg føler, at det er så tæt på at arbejde!
Tak for det. Efter at have prøvet en række andre tutorials uden held, til sidst fik jeg min mail-server op at køre. Jeg havde Postfix og Dovecot kører, og jeg kunne sende e-post fra kommandolinjen, men jeg kunne ikke forbinde med Thunderbird fra en anden computer. Slår ud af at det var SASL, at jeg manglede.
Jon -
http://www.checktls.com/TestReceiver?LEVEL=2
Du er velkommen til at tilføje dette link i brødteksten i din vidunderlige tutorial.
Simple kommenteret mail server test. Webstedet er gratis med en god privacy policy.
trackbacks } (2 trackbacks)