编码图像在使用 smtplib 发送时给出不同的代码

Encoded image gives different code when it was send wtih smtplib

我试过用这种方法对图像进行编码:

def resim_ac(self):
    dosya_ismi = QFileDialog.getOpenFileName(self, "Resim Aç", os.getenv("HOME"))

    with open(dosya_ismi[0], "rb") as file:

        image = file.read()

        encode_image = base64.encodestring(image)
    if  str(encode_image) != "":
        return str(encode_image)
    else:
        return ""

encoded_image 等于图像:b'iVBORw0KGgoAAAANSUhEUgAAAgAAAAI...BlLm9yZ5vuPBoAAAAASUVORK5CYII=\n'(是编码后的图像)

每当我尝试使用此方法通过电子邮件发送此代码时:

    mesaj = MIMEMultipart()

    mesaj_govdesi2 = MIMEText(str(self.resim_ac), "plain")


    mesaj.attach(mesaj_govdesi2)


    mesaj["Subject"] = self.subject_text.text()  #LineEdit



    mail = smtplib.SMTP("smtp.gmail.com", 587)

    mail.ehlo()
    mail.starttls()

    mail.login(self.email, self.passw)  # e-mail adress and it's password
    mail.sendmail(self.email,self.email_to, mesaj.as_string())
    print("Mail Sended....")



    mail.close()

它给了我这个 而不是 b'iVBORw0KGgoAAAANSUhEUgAAAgAAAAI...BlLm9yZ5vuPBoAAAAASUVORK5CYII=\n'

我的问题是为什么这两个不同?我怎样才能使它们相同

好的,我解决了。问题是我应该用自己定义 encode_image 。所以它很容易在 class.

中的另一个函数中调用
content = str(self.encryption())
        mesaj = MIMEMultipart()

        mesaj_govdesi = MIMEText(str(content), "plain")
        mesaj_govdesi2 = MIMEText(str(self.encode_image), "plain")

        mesaj.attach(mesaj_govdesi)
        mesaj.attach(mesaj_govdesi2)


        mesaj["Subject"] = self.subject_text.text()  #LineEdit


        try:
            mail = smtplib.SMTP("smtp.gmail.com", 587)

            mail.ehlo()
            mail.starttls()

            mail.login(self.email, self.passw)  # e-mail adress and it's password
            mail.sendmail(self.email,self.email_to, mesaj.as_string())