Apa yang menggantikan IIS SMTP server di Windows Server 2012

30

Saya telah membaca catatan di sini http://technet.microsoft.com/en-us/library/hh831568.aspx mengenai fitur usang dan dihapus pada Windows 2012 dan dikatakan bahwa SMTP sudah usang. Saya menganggap ini merujuk ke server SMTP IIS. Sarannya adalah menggunakan System.Net.Smtp sebagai gantinya tetapi saya menganggap ini adalah salah cetak karena saya tidak dapat menemukan referensi di tempat lain untuk apa pun yang disebut System.Net.Smtp.

Jika mereka benar-benar bermaksud mengatakan System.Net.Mail, itu hanya API dan saya gagal melihat bagaimana API menggantikan proses server. Saya membutuhkan layanan yang menerima koneksi pada port 25 dan merutekan email ke tujuan seperti yang biasa dilakukan IIS SMTP.

Adakah yang bisa menjelaskan situasi di sini? Jika mereka mengatakan itu digantikan oleh Exchange maka saya akan mengutuk mereka tetapi setidaknya itu akan membuat pernyataan yang berarti untuk saya sedangkan yang saat ini pasti tidak.

Andy
sumber

Jawaban:

19

Saya pikir pernyataan yang dirujuk dari Microsoft hanya mengerikan dan benar-benar membingungkan dan saya tidak berpikir siapa pun yang menulisnya memiliki petunjuk tentang cara kerja server SMTP. Itu tidak menjelaskan mengapa itu usang atau jika ada yang salah dengan itu. Mungkin ada masalah keamanan atau buffer overruns, tetapi jika Anda tidak mengeksposnya di port publik saya tidak akan ragu untuk menggunakannya.

Inilah yang saya lakukan:

  • Di IIS saya mengatur 'SMTP Email' untuk menunjuk ke domain 10.0.0.1. Saya melakukan ini di folder induk ke situs yang dikerahkan atau yang lain akan terhapus ketika Anda memindahkan. Jika mau, Anda bisa meletakkannya langsung di web.config tetapi kurang fleksibel seperti itu.
  • Di Server SMTP (melalui IIS6 Management Console) saya menyiapkan server SMTP di 10.0.0.1. Jelas seperti yang saya katakan sebelumnya ini tidak terekspos di internet publik.
  • Saya mengkonfigurasi server ini untuk menyampaikan melalui Smart Host melalui smtp.gmail.comatausmtp.live.com
  • Dalam aplikasi .NET saya, saya menggunakan API Mail untuk mengirim pesan menggunakan a new SmtpClient(). Ini mengambil konfigurasi dari IIS dan mengirimkan email ke server SMTP saya di10.0.0.1
  • Ketika saya mengirim email, itu akan kembali secara instan karena itu hanya dikirim ke localhost

  • Sekarang ini adalah manfaat penting dari menggunakan server SMTP lokal yang tidak dapat dikecilkan dan untuk itu 'System.Net.Smtp' itu sendiri bukanlah pengganti :

    • Server SMTP akan mencoba menyampaikan surat melalui smarthost Anda untuk Anda dan jika tidak segera dikirim, akan mencoba lagi nanti.
    • Sangat penting untuk menyadari bahwa kadang-kadang bahkan smtp.gmail.comtidak akan membalas atau mungkin jaringan Anda sedang down. (Mengejutkan ketika saya pertama kali mencoba mengirim surat secara langsung)
    • Tanpa server SMTP perantara untuk menyimpan pesan, Anda tidak bisa hanya 'mengirim dan melupakan' dari .NET dan Anda harus mencari tahu semacam mekanisme coba lagi yang sama sekali tidak perlu dengan server SMTP yang melakukan semuanya untuk Anda
    • Saya percaya bahwa jika Anda memiliki batas relai SMTP (pada ISP / GMail Anda) maka server SMTP akan tetap mencoba kembali dan mengirim pesan pada hari berikutnya - manfaat lain yang sangat besar jika Anda memiliki lalu lintas yang tidak konsisten dari hari ke hari atau mencapai batas Anda tanpa menyadari.

Silakan dan gunakan. Microsoft belum menyediakan pengganti, dan itu gratis, jadi mengapa tidak. 'Sudah usang' tidak ada artinya menurut saya jika tidak ada pengganti.

Penafian: Saya masih di Server 2008 tetapi saya menganggap semua ini masih berlaku.

Simon
sumber
4
Ya, hal yang sama masih berlaku pada Windows Server 2012. Saya selalu terkejut menemukan begitu sedikit orang yang menyadari keuntungan menggunakan server SMTP lokal untuk mengantri pesan!
Richard
1
Selain antrian, server SMTP membuat Anda login Konfigurasi SMTP di IIS 8.5 tidak menawarkan logging, sejauh yang saya tahu. Kami menambahkan server SMTP melalui IIS 6 dan memberitahu IIS 8.5 untuk terhubung ke localhost hanya untuk mendapatkan file log W3C.
Bacon Bits
14

Fitur SMTP peran Server Web telah usang tetapi belum dihapus. Anda dapat menginstal dan menggunakannya tetapi disarankan untuk menggunakan server SMTP lain (eksternal).

SMTP dan alat manajemen terkait tidak digunakan lagi. Meskipun fungsionalitas masih tersedia di Windows Server 2012, Anda harus mulai menggunakan System.Net.Smtp. Dengan API ini, Anda tidak akan bisa memasukkan pesan ke file untuk diambil; alih-alih konfigurasikan aplikasi Web untuk menyambungkan pada port 25 ke server lain menggunakan SMTP.

Jadi di masa mendatang, Anda akan menginstal dan menggunakan server SMTP terpisah (yang tersedia banyak) untuk menyediakan layanan SMTP ke aplikasi Web yang berjalan pada Windows ServerX.

joeqwerty
sumber
4

Deskripsi di artikel yang Anda tautkan sangat buruk! Tapi inilah yang ingin diceritakan:

Menghidupkan IIS SMTP di versi Windows sebelumnya melakukan dua hal:

  1. Memulai server SMTP IIS.
  2. Perpustakaan pemrograman yang ditambahkan (yaitu objek COM, dll.) Untuk mengirim pesan.

Jika Anda menggunakan perpustakaan itu tanpa konfigurasi apa pun, mereka akan mengirimkan ke server SMTP IIS lokal. Programmer pada dasarnya malas, jadi karena itu bekerja dengan sedikit usaha di pihak mereka, itulah yang mereka lakukan. Dan banyak yang tidak menyediakan cara untuk mengirim email melalui server SMTP yang berbeda.

Apa yang seharusnya artikel katakan adalah bahwa server SMTP IIS tidak ada lagi, tetapi perpustakaan SMTP masih disediakan dan aplikasi harus dikonfigurasi untuk menggunakan server SMTP yang berbeda.

leher panjang
sumber
2
Server SMTP adalah fitur peran Server Web dalam Windows Server 2012 dan dapat diinstal. Sudah usang tetapi tidak dihapus.
joeqwerty
Saya menganggap itu masih muncul di bawah 'konsol manajemen IIS6' kan?
Simon
2
@Simon Ya, konsol manajemen lama yang sama dengan 2002 dari IIS 6 masih digunakan untuk mengkonfigurasi SMTP di Windows Server 2012. :) Fitur manajemen IIS 6 adalah ketergantungan pada fitur SMTP.
bzlm
1
Abaikan cibukan kemalasan bodoh. Untuk detail tentang mengapa server SMTP lokal adalah ide yang bagus (dan standar pada sebagian besar OS lainnya - klien dan server), lihat jawaban ini .
bzlm
Bagaimana dengan windows server 10 atau apa pun namanya? Kesepakatan yang sama?
Simon