Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menghantar E-mel dari Localhost tanpa Mendedahkan Bukti Kelayakan?

Bagaimana untuk Menghantar E-mel dari Localhost tanpa Mendedahkan Bukti Kelayakan?

Linda Hamilton
Linda Hamiltonasal
2024-11-09 09:28:02417semak imbas

How to Send Email from Localhost without Exposing Credentials?

Menghantar E-mel menggunakan Java

Ralat:

Ralat "javax.mail.MessagingException: Tidak dapat menyambung ke SMTP hos: localhost, port: 25; pengecualian bersarang ialah:java.net.ConnectException: Sambungan ditolak: sambung" berlaku apabila cuba menghantar e-mel daripada hos tempatan tanpa pelayan mel yang dikonfigurasikan dengan betul.

Penyelesaian :

Kod yang disediakan akan berfungsi untuk menghantar e-mel menggunakan pelayan SMTP Google. Walau bagaimanapun, dalam penyelesaian ini, anda perlu memasukkan nama pengguna dan kata laluan Google anda untuk membenarkan proses penghantaran, yang mungkin menimbulkan kebimbangan keselamatan.

Penyelesaian Alternatif menggunakan API GoogleMail:

Untuk kaedah yang lebih selamat, adalah disyorkan untuk menggunakan API GoogleMail dengan kebenaran OAuth2. Coretan kod dikemas kini yang disediakan dalam bahagian jawapan menunjukkan cara membina perkhidmatan Gmail yang dibenarkan dan menghantar e-mel menggunakan API.

Panduan Langkah demi Langkah:

  1. Dayakan API Gmail dalam Konsol Pembangun Google anda.
  2. Dapatkan bukti kelayakan dengan menjalankan kaedah authorize().
  3. Bina objek MimeMessage yang mengandungi butiran e-mel.
  4. Tukar MimeMessage ke objek Gmail Message.
  5. Hantar e-mel menggunakan kaedah Send() kelas GoogleMail.

Faedah menggunakan API GoogleMail:

  • Keselamatan yang dipertingkatkan: Keizinan OAuth2 memastikan anda tidak menyimpan bukti kelayakan akaun Google anda dalam kod anda.
  • Pendekatan moden: API GoogleMail menyediakan cara moden dan cekap untuk menghantar e-mel.
  • Kefungsian tambahan: API menawarkan ciri seperti penjejakan dan pelabelan e-mel.

Nota Tambahan :

  • Muat Alamat E-mel: Kaedah loadEmail() dalam kelas Utils boleh digunakan untuk mendapatkan semula alamat e-mel yang dibenarkan sebelum ini.
  • Simpan Alamat E-mel: Kaedah saveEmail() dalam kelas Utils boleh digunakan untuk menyimpan alamat e-mel yang dibenarkan.
  • Log Keluar: Untuk log keluar daripada akaun Gmail, padamkan fail StoredCredential dan e-mel dalam direktori getGmailDataDirectory().

Atas ialah kandungan terperinci Bagaimana untuk Menghantar E-mel dari Localhost tanpa Mendedahkan Bukti Kelayakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn