it-swarm-tr.com

Google posta sunucusunun tarayıcıdan giriş yapmamı istemesini nasıl önleyebilirim?

Google Apps tarafından yapılandırılmış bir e-posta kullanarak Django'dan e-posta göndermeye çalışıyorum, settings.py dosyasındaki yapılandırmam şöyle görünüyor:

EMAIL_Host = 'smtp.gmail.com'
EMAIL_Host_USER = '[email protected]'
EMAIL_Host_PASSWORD = 'password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

Kullanarak bir e-posta göndermeye çalıştığımda:

from Django.core.mail import send_mail

send_mail("Happy new year", "We wish you the best for 3001",
    "[email protected]", ["[email protected]"])

Aşağıdaki hatayı alıyorum:

SMTPAuthenticationError: 
(535, '5.7.1 Please log in with your web browser and then try again. 
 Learn more at
 5.7.1 https://support.google.com/mail/bin/answer.py?answer=78754 k2sm758604obl.14')

Grafik kullanıcı arayüzü olmayan bir uzak sunucu üzerinde çalıştığım için tarayıcıdan giriş yapmayı bile deneyemiyorum.

Sadece https://accounts.google.com/DisplayUnlockCaptcha Adresine gidin ve "devam" ı tıklayın Bu, diğer sunuculardan erişime izin verecek.

38

Birkaç saat boyunca bir salatalık/capybara/Selenium testinde bununla uğraşıyorum - bu hatayı iyi, garantili bir şekilde giderecek aptalca bir şey keşfettim.

Hepsi çok tanıdık bir hata:

Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure) (Net::IMAP::NoResponseError)

Görünen o ki, bilinmeyen cihazlardan/IMAP oturumlarına izin vermek için değiştirilmesi gereken İKİ "Daha Az Güvenli Uygulamaya İzin Ver" geçişi vardır.

One here: https://myaccount.google.com/security?pli=1#connectedapps (sayfanın altı)

Ve burada bir tane: https://www.google.com/settings/security/lesssecureapps

BU GODFORSAKEN TOGGLES'İN ARKASINDAN bu hata mesajından kurtulmak için değiştirilmesi gerekiyor.

düzenleme: kullanıcıdan Milothicus ( https://stackoverflow.com/users/3538026/milothicus ): myaccount.google.com adresinde, 'Giriş ve Güvenlik' altında, 'Bağlı uygulamalar ve siteler'i seçin. Bu ayrıca 'Daha az güvenli uygulamalara izin ver' seçeneğine de sahiptir. bunu açtıktan sonra sunucum şimdi otomatik bir e-posta gönderebilir.

30
etusm

Hesabıma erişmeye çalıştığımda, bu bağlantıdan oluşan bu e-postayı bana gönderdim . https://www.google.com/settings/security/lesssecureapps

Testi yaptıktan sonra açıp ardından kapatmanız mümkündür.

13
jasxir

Google Apps desteğinden şu yanıtı aldım:

Giden rölenizi açmanız gerekir. Bunu yapmak için:

  1. Google.com/a/etkialaniniz.com.tr adresinden hesabınıza giriş yapın.
  2. Ayarlar sekmesini tıklayın ve ardından sol sütunda E-posta'yı seçin.
  3. Giden geçiş bölümünde, barındırılan adresden bir "from" adresini yapılandırırken, kullanıcıların harici bir SMTP üzerinden posta göndermesine izin ver seçeneğini belirleyin. etki alanınızın dışında.
  4. Değişiklikleri kaydet'i tıklayın.

Ayrıca bir yardım bağlantısı sağladılar: http://support.google.com/a/bin/answer.py?hl=tr&answer=176054

Giden geçişi açtıktan ve web sunucusunda bir kez daha oturum açmak için proxy kullandıktan sonra (@DaniloBargen ve @joshcartme sayesinde) sorun çözüldü. Giden rölenin ne olduğunu açıklayan bağlantıyı okudum ve neden ihtiyaç duyacağımdan gerçekten emin değilim (harici bir SMTP sunucusu kullandığımı sanmıyorum).

Sorunu çözdüğüm şeyin bu olduğundan emin olamadığımdan, bazı onaylar almadıkça yanıtı kabul edildi olarak işaretlemeyeceğim.

Söz konusu sunucuya bir ssh tüneli kurun, böylece ev bilgisayarınızdan sunucunun IP adresini kullanarak gmail web istemcisine giriş yapabilirsiniz. Muhtemelen 80 ve 443 numaralı portları, belki sadece 443 numaralı tünelleri açmanız gerekir. Web istemcisinden oturum açtıktan sonra, sorun SMTPAuthenticationError'da listelenen bilgi tabanı makalesine göre gider.

İşte tünelin nasıl kurulacağına bir örnek: http://www.noah.org/wiki/SSH_tunnel#simple_port_forwarding_.28SSH_tunneling.29

5
joshcartme

Seçenek # 1 (bu benim için çalıştı):

Web uygulamamdan e-posta göndermeye çalışırken Please log in with your web browser and then try again. Learn more etc. hatasını aldıktan sonra, yerel bilgisayarımdan tarayıcı aracılığıyla e-postaya giriş yaptım.

Giriş yaptıktan sonra, dış uygulamanın postalarıma erişmesine izin vermek isteyip istemediğimi soran sarı bir bildirim çubuğu vardı. Bunu onayladım ve Google benden uygulamadan hesaba giriş yapmamı istedi önümüzdeki 10 dakika içinde. Bu uygulamanın beyaz listelenir.

Seçenek # 2:

1. Seçenek sizin için işe yaramazsa, şunu deneyin: http://www.rocketideas.com/2012/05/gmail-error-password-not-accepted-from-server-solved/

5
finspin

etusm, daha az güvenli uygulamaları açmak için iki konum sağlamıştır:

Burada bir tane: https://myaccount.google.com/security?pli=1#connectedapps (sayfanın altı)

Ve burada bir tane: https://www.google.com/settings/security/lesssecureapps

ikisi de açıktı, ancak başsız sunucum hala bir e-posta gönderemedi. JohnPang'ın google + önerisine göre, daha az güvenli uygulamalara erişime izin vermek zorunda kaldığım üçüncü bir konum buldum:

myaccount.google.com adresinde, 'Giriş ve Güvenlik' altında, 'Bağlı uygulamalar ve siteler'i seçin. Bu ayrıca 'Daha az güvenli uygulamalara izin ver' seçeneğine de sahiptir. bunu açtıktan sonra sunucum şimdi otomatik bir e-posta gönderebilir.

4
Milothicus

Çözümü şurada buldum: https://support.google.com/accounts/answer/185833?hl=tr ve son olarak https://security.google.com/settings/security/apppasswords

Projenizi yerel bir makinede test ediyorsanız, ikinci linke gitmeli ve "Daha az güvenli uygulamalar için erişim" i etkinleştirmelisiniz.

2
1man

Yukarıdakilerin hepsi benim durumumda yardımcı değil (garip). Ancak bu bağlantı size yardımcı olabilir:

https://security.google.com/settings/security/activity

Google Plus üzerinden erişebilirsiniz

  1. Google+ aç
  2. Üstten "Güvenlik" i seçin
  3. "Son etkinlik" altında "Tüm etkinlikleri görüntüle" yi tıklayın
  4. "Olağandışı Etkinlik" in bir listesini göreceksiniz
  5. Singapur'dan AWS kullandığım için "Uygulama/cihaz oturum açma girişimini önledi (Singapur)" gösteriyor
  6. "Değiştir"> "Evet, o bendim!" Seçeneğini tıklayın.
  7. Tekrar dene. Bitti!
1
John Pang

Uygulamalar hesabı için etkin iki faktörlü kimlik doğrulaması var mı? O zaman bu uygulama için uygulamaya özel bir şifre kullanmanız gerekebilir. 

1
Christer B

Şu andan itibaren (gönderi tarihime bakın) Gmail hesabı yöneticisi UI'sinde yalnızca bir "Daha az güvenli uygulamalara izin ver" seçeneğine geçiş var: https://myaccount.google.com/u/0/security#connectedapps

Bundan sonra yerel bilgisayarınızdan (Mac veya PC) çalışır. 

Amazon EC2 'den erişime izin vermek için (ve Cloud merkezli diğer ana bilgisayarlardan şüpheleniyorum), Google’ın spam gönderenlerle hiç bitmeyecek şekilde savaşmasını ayarlamak için başka bir bayrak daha var: https://accounts.google.com/b/0/DisplayUnlockCaptcha

0
Alex Rogachevsky