Mengapa saya memerlukan server SMTP?

92

Mengapa saya memerlukan server SMTP perantara untuk mengirim email? Mengapa klien saya (Outlook, Thunderbird) tidak dapat mengirim pesan langsung ke domain SMTP penerima?

Misalnya, jika saya harus mengirim email ke [email protected]dengan akun Gmail saya, saya mengirimnya ke smtp.gmail.comserver; dan kemudian server ini akan mengirim pesan saya ke server MX dari example.com.

Tobia
sumber

Jawaban:

114

Secara teknis dimungkinkan untuk mengirim email langsung ke server SMTP penerima dari komputer Anda.

Melihatnya dari dasar historis, jika server SMTP jauh turun, Anda ingin sistem untuk secara otomatis menanganinya dan terus mencoba lagi - maka Anda memiliki server SMTP. Demikian pula, di masa lalu, tidak semua server email terhubung sepanjang waktu — tautan jarak jauh mahal, sehingga email akan diantrekan dan dikirim ketika tautan dibuat.

Pindah ke mana Internet itu murah, masih bermanfaat untuk memiliki mekanisme untuk mencoba kembali mengirim email jika server tidak tersedia, dan itu tidak ideal untuk fungsi ini untuk ditulis ke dalam MUA (Agen pengguna surat / program pengguna surat akhir). Fungsi-fungsi ini masuk ke dalam MTA (Server mail / server SMTP).

Tapi itu semakin buruk— spammer . Sebagian besar email (lebih dari 80%) adalah spam. Jadi penyedia email melakukan apa pun yang mereka bisa untuk mengurangi masalah ini — dan sejumlah besar teknik membuat asumsi tentang cara pengiriman email — berikut ini adalah pertimbangan penting:

  1. Greylisting: Beberapa penyedia secara otomatis akan menjatuhkan koneksi email jika pengirim dan penerima belum berkomunikasi sebelumnya, dan mengharapkan mereka untuk mencoba yang kedua kalinya - karena spammer sering tidak melakukannya, sedangkan server SMTP selalu seharusnya. Ini mengurangi volume spam sekitar 80%. Sungguh menyebalkan harus melakukan ini.

  2. Reputasi: Sangat mungkin seseorang mengirim email melalui server SMTP yang memiliki reputasi baik dan sah daripada server fly-by-night. Untuk merasakan reputasi, penyedia melakukan sejumlah hal:

    1. Blokir alamat dinamis / klien (Tidak 100%, tetapi potongan besar Internet telah dipetakan).

    2. Lihatlah bahwa reverse DNS cocok dengan DNS ke depan: Tidak terlalu sulit untuk dilakukan, tetapi menunjukkan beberapa tingkat akuntabilitas dan pengetahuan tentang praktik terbaik — dan sesuatu yang tidak dimiliki oleh banyak blok alamat klien.

    3. Reputasi: Saat berkomunikasi dengan server SMTP lainnya, banyak penyedia melacak jumlah spam dan volume email yang dikirim dan dapat mengurangi jumlah spam dengan membatasi koneksi dan mengawasi parameter-parameter ini. (Ada banyak cara yang dilakukan, tidak semuanya jelas, tetapi membutuhkan pengirim yang dikenal).

    4. SPF dan DKIM: Mekanisme ini mengikat sumber daya DNS ke nama domain untuk membuat penempaan surat lebih sulit, dan akan sulit (tetapi tidak selalu mustahil untuk digunakan jika program surat (MUA) bertanggung jawab untuk surat keluar. (Ditambahkan untuk membuat jawaban ini lebih lengkap karena sudah diterima. Kredit untuk itu harusnya masuk ke poster-poster di bawah karena terlintas di benak saya, tetapi, bagaimanapun, sangat valid)

Mungkin ada kekhawatiran kecil lainnya, tetapi ini akan menjadi yang utama.

davidgo
sumber
19
Jangan lupa hal - hal yang tidak terlalu sepele seperti SPF (daftar putih host yang diizinkan mengirim email untuk domain) dan DKIM (menandatangani pesan secara digital di tingkat domain) - terutama yang terakhir hanya dimungkinkan dengan relay khusus.
grawity
@ kegembiraan Pasti layak disebut, tapi mengapa DKIM tidak "mungkin" tanpa relay khusus? Selektor DKIM tidak terikat dengan aplikasi pengirim atau alamat IP. Jika klien email Anda dapat menandatangani pesan dengan kunci yang diterbitkan, itu sama validnya dengan penanda tangan lainnya.
Mathias R. Jessen
2
@ ManuH: Sesuai metrik dalam jawaban yang bagus, surat biasa berkompromi 1/5 dari volume surat. Sesuai metrik di server saya , surat biasa berkompromi 1/20 dari volume surat. Ini adalah trade off yang hebat.
dotancohen
1
@manuh: Greylisting berfungsi dengan menutup koneksi sebelum email dikirim - hanya mendengarkan hingga menerima pengirim dan penerima - yang ada di header th. Juga, beberapa sistem greylist akan berlaku umum. terima semua email dari server smtp yang memiliki riwayat coba lagi pengiriman. Sayangnya, ini sangat efektif.
davidgo
4
Dapat menambahkan bahwa dalam "hari-hari indah" surat sering dikirim dari satu server SMTP ke yang lain, lalu yang lain, lalu yang lain sebelum mencapai tujuannya. Ini biasanya bekerja dengan baik, tetapi misalnya selama serangan rtm-worm, salah satu komputer turun adalah salah satu dari mail-relay penting, sehingga email dengan peringatan, solusi dan perbaikan ke worm, bisa memakan waktu hingga 48 jam untuk mencapai penerima mereka.
Baard Kopperud
32

Mengapa saya memerlukan server SMTP perantara untuk mengirim email? Mengapa klien saya (Outlook, Thunderbird) tidak dapat mengirim pesan langsung ke domain SMTP penerima?

Pada 1991 — dan sebagian besar awal 1990-an dan bahkan lebih awal — Anda mungkin bisa melakukan apa yang Anda gambarkan. Tetapi kenyataannya pada tahun 2015 adalah, sementara seseorang secara teknis dapat mengirim email kepada siapa pun dari mesin apa pun yang memiliki layanan surat terinstal di dalamnya, dunia SPAM telah membuat metode itu tidak berguna secara efektif.

Ketika Anda menggunakan layanan SMTP "nyata", hal-hal ditetapkan seperti catatan PTR, catatan SPF dan bahkan DomainKeys yang semuanya dibuat untuk satu tujuan dan satu tujuan saja: untuk memastikan bahwa SMTP yang mengirim pesan itu sah. Dan jika tidak? Saring pesan ke folder SPAM atau "jurang maut" penghapusan. Berikut ini rincian dari masing-masing item tersebut:

  • PTR (Pointer Record / Reverse DNS Record): Verifikasi tingkat server. Seperti dijelaskan di sini , catatan PTR digunakan untuk memetakan antarmuka jaringan (IP) ke nama host. Berarti jika Anda memiliki alamat 123.456.789.0pada server SMTP Anda mengirim email untuk smtp.example.comkemudian catatan PTR yang sesuai untuk itu smtp.example.com. Tampaknya terlalu sederhana, tetapi itu berhasil karena satu-satunya yang benar-benar dapat mengatur catatan PTR adalah pemilik alamat IP dan hanya dapat ditetapkan pada perangkat keras mereka. Jadi itu bertindak sebagai titik verifikasi terhadap siapa yang memiliki / menjalankan / mengelola alamat IP itu.

  • SPF (Kerangka Kebijakan Pengirim): Verifikasi tingkat entri DNS Hostname. Catatan SPF — seperti yang dijelaskan di sini — pada dasarnya adalah catatan DNS yang ditetapkan oleh pemegang nama domain yang memberikan daftar alamat IP dan nama host server yang diizinkan mengirim email untuk nama domain itu. Itu lagi adalah langkah verifikasi lain yang memastikan bahwa hanya pemilik nama domain sejati untuk server SMTP yang dapat mengirim email. Jadi misalkan server dengan alamat IP 123.456.789.9sedang mengirim email example.com. Kita sudah tahu itu smtp.example.commenggunakan 123.456.789.0, tetapi entri catatan SPF untuk example.comcan menyatakan, “Hei! 123.456.789.9adalah server yang bagus! Dia sah! Hormati emailnya! ”

  • DKIM (DomainKeys Identified Mail): Verifikasi tingkat pesan email. Sebagaimana dijelaskan di sini dan di Wikipedia , “DKIM adalah sistem validasi email yang dirancang untuk mendeteksi spoofing email dengan menyediakan mekanisme untuk memungkinkan penukar email penerima untuk memeriksa bahwa email masuk dari suatu domain diotorisasi oleh administrator domain tersebut dan bahwa email tersebut (termasuk lampiran) belum dimodifikasi selama transportasi. ”Dengan menggunakan hash kriptografi, DKIM memverifikasi bahwa surat itu sendiri tidak difilter atau dirusak selama transit. Ini juga berfungsi sebagai titik verifikasi lain dalam rantai “Apakah Anda sah atau apakah Anda SPAM?”.

Jadi pada akhirnya, server SMTP yang menghadap ke publik bernilai apa pun akan memiliki setidaknya dua item ini (PTR dan SPF) ditetapkan untuk memverifikasi bahwa server SMTP dan email terkait adalah sah. Tidak semua orang menggunakan DKIM, tetapi ini adalah lapisan validasi lain yang semakin populer saat ini karena SPAMmers menjadi lebih ulet dalam upaya mereka untuk mengirim SPAM.

JakeGould
sumber
15

Sebagian besar ISP perumahan memblokir port TCP 25 (SMTP) untuk mencegah Anda berpartisipasi dalam jaringan spam. Jika PC Anda terinfeksi, PC Anda dapat mulai memuntahkan spam atas perintah orang lain.

Ron Maupin
sumber
Anda menulis "Sebagian besar ISP perumahan memblokir TCP port 25 (SMTP)" <- dapatkah Anda menguraikan apa artinya. Apakah maksud Anda mereka tidak akan membiarkan Anda membuat koneksi keluar ke server SMTP pada port 25? Atau maksud Anda mereka tidak akan membiarkan Anda menerima koneksi pada port 25?
barlop
2
@barlop yang pertama - mereka memblokir koneksi keluar pada 25 dari tautan rumah ke mesin selain dari server surat mereka sendiri (atau memang ke mana saja, karena mereka mungkin menggunakan 587 atau 465 untuk server mereka sendiri). Namun, agak berlebihan untuk mengatakan bahwa sebagian besar ISP melakukannya.
hobbs
2
@ hobbs - Pengalaman saya (dan itu bagian pekerjaan saya yang adil) berbeda. Sementara banyak ISP akan memblokir lalu lintas meninggalkan jaringan mereka dengan target port 25 (yang memaksa lalu lintas port 25 melalui server mail mereka), hal yang sama umumnya tidak berlaku untuk port 587 atau 465 - dan memang ini masuk akal. Port 587 dan 465 pada umumnya MEMBUTUHKAN otentikasi, dan pemblokiran dan secara khusus MUA ke MTA daripada MTA-MTA - Memblokir port-port ini akan menghasilkan serangan balik BESAR karena banyak perusahaan membutuhkannya sehingga memungkinkan roaming, akuntabilitas, dan tidak melanggar SPF.
davidgo
3
@ hobbs, saya tidak pernah menulis bahwa sebagian besar ISP melakukan ini; apa yang saya tulis adalah sebagian besar ISP perumahan melakukan ini. Misalnya, AT&T, Comcast, TWC, Verizon, dll. Melakukan ini untuk pelanggan residensial mereka, tetapi mereka tidak melakukan ini untuk pelanggan bisnis mereka.
Ron Maupin
6

Jawaban lainnya semuanya sangat bagus, dan spam memang ada hubungannya dengan itu.

Tetapi sebenarnya ada yang lebih sederhana, lebih umum, jawaban: fitur. Mengirim email melalui SMTP sebenarnya adalah tugas yang sangat kompleks. Bahkan tanpa spam, Anda tidak akan ingin mengimplementasikan seluruh rangkaian fitur protokol SMTP di setiap klien email; Anda lebih baik dengan perangkat lunak khusus (sendmail, postfix dll. adalah yang besar di dunia * nix, Exchange di dunia Windows).

Sebagai contoh, bahkan pada yang paling dasar, server SMTP "nyata" harus setidaknya dapat menyelesaikan catatan MX. Maka ia harus menegosiasikan fitur (kebanyakan TLS, tetapi ada fitur lain juga). Itu harus mengelola antrian untuk mencoba ulang, menghasilkan laporan tidak terkirim, dll.

Dan itu hanya fungsi dasar, harus dimiliki, yang tanpanya server tidak akan berfungsi. Bahkan tidak termasuk hal-hal seperti penulisan ulang alamat, surat-surat. Belum lagi selusin protokol lain yang mendukung sendmail et al, seperti UUCP.

Implementasi SMTP di Outlook, Thunderbird dll sangat minim - paling banter, kira-kira setara dengan menggunakan host pintar di sendmail, jika itu.

Terkait, tetapi masalah terpisah: email adalah topik yang sangat peka terhadap keamanan, dan Anda ingin memiliki satu atau beberapa server yang dikelola secara terpusat yang menanganinya, daripada berpotensi ratusan atau ribuan yang terpisah di setiap desktop.

Kevin Keane
sumber
Ini poin yang bagus. Ini bukan hanya tentang fitur sebenarnya untuk antrian dan sebagainya: ketersediaan server membuat perbedaan pada beberapa fitur tersebut. Jika ada masalah dan Anda mematikan laptop Anda tidak dapat mencoba lagi sampai dihidupkan berikutnya - server email kemungkinan akan tersedia 24/7 meskipun begitu berada dalam posisi yang jauh lebih baik untuk mengelola antrian pesan. Setelah Anda mengirimkan pesan ke server dengan SMTP, klien email Anda tidak perlu online untuk memastikan pengiriman.
David Spillett
4

Mengapa saya memerlukan server SMTP perantara untuk mengirim email? Mengapa klien saya (Outlook, Thunderbird) tidak dapat mengirim pesan langsung ke domain SMTP penerima?

Anda dapat membuat program email yang melakukan ini, dan saya tidak ragu orang lain telah melakukan (atau mencoba) sebelumnya.

Anda pada dasarnya akan menulis alat yang keduanya MUA (agen pengguna surat) dan MTA (agen transfer surat) dalam satu.

Alasan bahwa ini secara tradisional dipisahkan menjadi alat yang berbeda, dengan MTA yang berada "sisi server", adalah bahwa MTA yang mengirim surat melalui internet terbuka jauh lebih kompleks untuk ditulis dan dikonfigurasikan, dan juga manfaatnya dari berada pada server "selalu aktif" yang dapat diandalkan.

MTA harus:

  • Cari dan sambungkan ke server yang tidak dipercayai, atau yang mungkin berperilaku salah, dan atasi kondisi kesalahan dengan cara yang masuk akal yang tidak kehilangan email.

  • Berurusan dengan server yang sedang down, dan rutekan ke server alternatif atau antri surat untuk nanti coba lagi. Ini berjalan paling baik pada proses server yang "selalu terhubung" ke internet. Ini juga menyiratkan bahwa agen transfer surat memerlukan area penyimpanannya sendiri untuk surat yang diantrekan.

  • Menangani berbagai kemampuan server yang berbeda, menyesuaikan perilaku sesuai dengan kemampuan server penerima.

  • Laporkan kembali kepada pengguna tentang kondisi kesalahan atau ketika surat tidak terkirim, sehingga surat tidak hanya hilang.

  • Memiliki praktik keamanan yang sangat baik dan sangat sadar akan keamanan.

  • Idealnya, berada di server yang andal dan selalu terhubung dengan alamat IP yang stabil dan entri DNS terbalik, yaitu koneksi internet yang cocok untuk server yang menghadap publik. Ini membantu sistem lain yang tidak mendeteksi email yang dikirim sebagai spam.

Dengan persyaratan ini, masuk akal untuk menempatkan server SMTP di server yang selalu menghadap ke publik di suatu tempat, dan untuk mencoba dan menggunakan alat yang cocok untuk melakukan pekerjaan tertentu.

thomasrutter
sumber
1

Satu hal yang perlu dipertimbangkan adalah menerima email yang dikembalikan . Minimal, semua email keluar memiliki alamat FROM tempat respons dapat dikirim (pengguna yang tidak dikenal, balasan liburan, dll.). Agar alamat kembali diselesaikan, catatan MX harus ada yang mengarah ke lokasi kotak masuk kembali. Kecuali Anda mengirim email dari komputer dengan alamat IP statis yang selalu aktif, Anda akan memerlukan server untuk menangani pesan masuk ini. Ini biasanya (tetapi tidak selalu) ditangani oleh layanan yang sama.

GMail, Outlook 365, dan Yahoo Mail adalah contoh layanan email yang digunakan oleh individu yang mengirim email. Untuk pengiriman email komersial, ada layanan seperti MailChimp, Marketo, dan Eloqua yang sangat baik dalam mengirim email massal untuk perusahaan dan menangani hal-hal seperti bouncing, pelambatan, dan pengiriman.

Lihat: https://en.m.wikipedia.org/wiki/Bounce_address

dana
sumber
Saya tidak mengerti mengapa saya memerlukan IP statis untuk mendapatkan balasan saya ... Jawabannya harus dikirim ke server MX saya (mis. Gmail) bukan ke komputer saya. Apakah saya benar?
Tobia
Ya kamu benar. Saya kira maksud saya adalah bahwa kotak masuk biasanya ada di server di suatu tempat agar email keluar dikirim. Secara logis, masuk akal bagi server itu untuk menangani email keluar juga. Kalau tidak, Anda akan kehilangan hal-hal seperti memiliki folder email "terkirim".
dana
Mmh itu masuk akal. Tapi saya bebas mengirim pesan dengan Gmail dengan alamat "dari" atau "replyto" yang tidak diketahui yang melepaskan server smtpnya ...
Tobia
1
Jika Anda menggunakan GMail, Anda harus menggunakan otentikasi smtp. Jadi, alamat FROM diatur ke alamat @ gmail.com Anda. Jika tidak, Anda akan dapat menggunakan layanan mereka untuk spoofing.
dana
2
Saat ini, banyak pengguna yang tidak peduli tentang bouncing, TETAPI pengaturan yang tidak akan menerima bouncing biasanya dianggap sebagai sumber spam yang mungkin.
rackandboneman