Я создаю веб-сайт, который предоставляет службу электронной почты, но функция входа в систему у меня не запускается.Я достаточно устраняю неполадки, чтобы выяснить, что все остальное работает до этого момента, и только в этот момент код перестает работать.Код в той форме, в которой он находится сейчас, запускается на моей машине, и только когда я помещаю его в cPanel, он перестает функционировать.Что здесь происходит?
Следует отметить, что я запускаю python в cgi-bin на cPanel.Предыдущий питон сработал, проблема возникает только на сервере.
#!/usr/bin/python3
print("Content-type: text/html\n\n")
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
class Mailer(object):
def __init__(self, address, password):
self.address = address
self.password = password
self.signature = None
self._refresh_connection()
def __enter__(self):
return self
def __exit__(self, errtype, errinst, traceback):
self.close()
def _refresh_connection(self):
self.server = smtplib.SMTP('smtp.gmail.com', port=587)
self.server.ehlo()
self.server.starttls()
self.server.login(self.address, self.password) #This line is where it ceases to run
def close(self):
self.server.close()
def add_signature(self, data, type='plain'):
self.signature = MIMEText(data, type)
def make_email(self, to, msg, subject=None, type='plain'):
mail = MIMEMultipart()
mail["To"] = to
mail['From'] = self.address
if subject is not None:
mail['Subject'] = subject
mail.attach(MIMEText(msg, type))
if self.signature is not None:
mail.attach(self.signature)
return mail
def send(self, to, msg, subject=None, type='plain'):
print('sending emails')
print('to:', to, ', from:', self.address)
email = self.make_email(to, msg, subject, type)
self.server.sendmail(self.address, to, email.as_string())
myEmail = Mailer('myEmail','myPassword')
myEmail.send('recipient','This is my message')