Google SMTP Error: 454 4.7.0 Terlalu banyak upaya login, silakan coba lagi nanti
17
Saya menemukan bahwa walaupun dimungkinkan untuk menggunakan Gmail / Google Apps sebagai server SMTP untuk penggunaan skrip, jika terlalu banyak email yang dikirim, saya mulai menerima pesan kesalahan:
SMTP Error: 454 4.7.0 Too many login attempts, please try again later.
Biasanya jika saya menunggu satu atau dua jam, saya bisa mengirimkan 100 email lagi atau lebih, tetapi saya akan segera mengalami pesan kesalahan yang sama lagi.
Saya menemukan bahwa masalahnya adalah meskipun kami memiliki catatan SPF yang disiapkan untuk domain kami, kami tidak memiliki catatan DKIM yang terkait dengan domain kami. Untuk menambahkan catatan DKIM di Google Apps, Anda harus melakukan yang berikut:
Buka Konsol Admin
Klik pada "Google Apps"
Klik pada "Gmail"
Gulir ke bawah hingga Anda melihat "Otentikasi Email" dan klik itu
Pilih domain yang ingin Anda tambahkan DKIM
Ketika ditanya awalan apa yang ingin Anda gunakan, cukup gunakan default 'google'
Anda kemudian akan melihat catatan TXT dalam dua bagian, satu bagian memiliki domain dan yang lainnya memiliki catatan TXT yang sebenarnya. Anda harus masuk ke pengaturan DNS Anda di server Anda untuk domain Anda dan menambahkan catatan ini. Jika panel kontrol DNS Anda tidak memungkinkan Anda untuk menambahkan domain google._domainkey, cukup buat domain yang sepenuhnya memenuhi syarat seperti google._domainkey.example.com.
Setelah Anda melakukan ini, berikan catatan DNS sedikit waktu untuk disebarkan dan kemudian klik "Mulai Otentikasi" di panel admin Google Apps. Jika Anda melihat tanda centang hijau, Anda telah melakukannya, dan email akan mulai mengalir melalui server SMTP sekali lagi.
Bagaimana jika Anda tidak mengendalikan server DNS?
Ismael
1
Penyelamat. Tampaknya gmail akan memeriksa server otoritatif untuk catatan TXT, jadi Anda tidak harus menunggu untuk propogasi DNS penuh - untuk sebagian besar perubahan yang dilakukan hari ini melalui file manager zona DNS, Anda tidak perlu menunggu lebih dari beberapa detik agar perubahan berlaku.
JT Taylor
4
Anda tidak boleh mengautentikasi untuk setiap email yang harus Anda kirim.
Di awal proses:
Session session = loadSession();
Transport transport = session.getTransport("smtp");
transport.connect("[email protected]", "password");
Setelah itu, gunakan objek transportasi untuk mengirim setiap email tanpa sesi awal:
Menggunakan SMTP ketika Anda mengirim email massal itu masuk dengan setiap email dan kemudian keluar. Karena itu, Google memblokir koneksi Anda. Apa yang berhasil bagi saya adalah mengatur SMTPKeepAlive menjadi true.
Anda tidak boleh mengautentikasi untuk setiap email yang harus Anda kirim.
Di awal proses:
Setelah itu, gunakan objek transportasi untuk mengirim setiap email tanpa sesi awal:
Setelah Anda mengirim semua email, Anda harus menutup koneksi:
sumber
solusi dari @ victorpacheco3107 bekerja untuk saya, ini yang saya lakukan di ruby:
sumber
Menggunakan SMTP ketika Anda mengirim email massal itu masuk dengan setiap email dan kemudian keluar. Karena itu, Google memblokir koneksi Anda. Apa yang berhasil bagi saya adalah mengatur SMTPKeepAlive menjadi true.
sumber