Как запланировать электронную почту, используя даты из таблицы sql в python - PullRequest
0 голосов
/ 02 апреля 2020

Я хочу отправить напоминание пользователю по электронной почте, в котором в качестве содержимого введен текст с использованием дат из базы данных sql, которую вводит пользователь. Я получаю входные данные со страницы PYQT, но мне не нужна никакая помощь, поскольку я получил входные данные в таблицу.

Это моя база данных:

Моя база данных

И это код, который я использую для получения информации, и способ отправки электронных писем в данный момент.

    connection = sqlite3.connect("CURRENTUSER.db") 

    crsr = connection.cursor() 

    crsr.execute('SELECT User FROM USER WHERE ID = 1 ')

    CurrentUser = crsr.fetchall()



    CurrentUser = str([CurrentUser])

    CurrentUser = CurrentUser.replace('[', '')
    CurrentUser = CurrentUser.replace(']', '')
    CurrentUser = CurrentUser.replace('(', '')
    CurrentUser = CurrentUser.replace(')', '')
    CurrentUser = CurrentUser.replace(',', '')
    CurrentUser = CurrentUser.replace("'" , '')





    connection = sqlite3.connect("Emaildatabase.db") 

    crsr = connection.cursor() 

    crsr.execute('SELECT Email FROM Email WHERE Username = ? ', (CurrentUser,))


    Mail = crsr.fetchall()

    Mail = str(Mail)

    Mail = Mail.replace('[', '')
    Mail = Mail.replace(']', '')
    Mail = Mail.replace('(', '')
    Mail = Mail.replace(')', '')
    Mail = Mail.replace(',', '')
    Mail = Mail.replace("'" , '')    

    ReminderDate = self.Reminder_Date.date().toPyDate()
    DueDate = self.Due_Date.date().toPyDate()
    ReminderTime = self.Reminder_Time.time().toString()
    DueTime = self.Due_Time.time().toString()

    ReminderDate = str(ReminderDate)
    ReminderDate = ReminderDate.replace("-","/")

    DueDate = str(DueDate)
    DueDate = DueDate.replace("-","/")


    Input = self.Info_Input.toPlainText()

    Connection = sqlite3.connect("Reminders.db")
    crsr = Connection.cursor()

    crsr.execute ("SELECT ID FROM Reminder")
    ID = crsr.fetchall()
    IDLen = len(ID)

    CurrentID = (IDLen + 1)

    CurrentID = str([CurrentID])

    CurrentID = CurrentID.replace('[', '')
    CurrentID = CurrentID.replace(']', '')
    CurrentID = CurrentID.replace('(', '')
    CurrentID = CurrentID.replace(')', '')
    CurrentID = CurrentID.replace(',', '')
    CurrentID = CurrentID.replace("'", '')

    Update = ("INSERT INTO Reminder (DueDate, ReminderDate, ReminderTime, DueTime, Text, ID) VALUES (?, ?, ?, ?, ?, ? )")
    Values = [(DueDate, ReminderDate, ReminderTime, DueTime, Input, CurrentID)]
    crsr.executemany(Update, Values)
    Connection.commit()

    yag = yagmail.SMTP('pythontest22222@gmail.com', 'phAR7b1H2uqII5G8YR')
    contents = [
        " HElllOOOO"
        ]
    yag.send(Mail, 'Your Set Reminder', contents)

Я нашел способ планировать электронную почту но они были установлены с использованием кода без переменных или SQL данных.

    send_time = dt.datetime(2018,8,26,3,0,0) # set your sending time in UTC
    time.sleep(send_time.timestamp() - time.time())

Я до сих пор не знаю, как получить даты из таблицы, которые затем будут использоваться программой для планирования электронной почты.

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