import imaplib
import email
import csv
import io
import mysql.connector

# تفاصيل البريد الإلكتروني
username = 'sultan@prod.nhcops.com'
password = 'Sultan135@'
mail_server = 'vsrv681.armadaservers.com'
mail_port = 993

# الاتصال بالبريد الإلكتروني
mail = imaplib.IMAP4_SSL(mail_server, mail_port)
mail.login(username, password)
mail.select('inbox')

# البحث عن الرسائل بموضوع 'for_me_1'
status, message_ids = mail.search(None, '(SUBJECT "for_me_1")')

# الحصول على أحدث رسالة
latest_message_id = message_ids[0].split()[-1]

# جلب الرسالة وطباعة محتواها
status, message_data = mail.fetch(latest_message_id, '(RFC822)')
email_message = email.message_from_bytes(message_data[0][1])

# جلب المرفقات من الرسالة
attachments = []
for part in email_message.walk():
    if part.get_content_maintype() == 'multipart':
        continue
    if part.get('Content-Disposition') is None:
        continue
    filename = part.get_filename()
    if not filename:
        continue
    attachments.append(part)
file_name = 'change_stock.csv'

try:
# إعداد اتصال بقاعدة البيانات
    conn = mysql.connector.connect(
    host="vsrv681.armadaservers.com",
    user="mint303_Sultan",
    password="Plmokn123@",
    database="mint303_change_stock"
    )
# فحص المرفقات للعثور على ملف CSV
    for attachment in attachments:
        if attachment.get_filename() == file_name:
            # قراءة الملف CSV وطباعة العمود الذي عنوانه "VIN" فقط
            csv_data = attachment.get_payload(decode=True).decode()
            csv_file = io.StringIO(csv_data)
            csv_reader = csv.DictReader(csv_file)
            for row in csv_reader:
                cursor = conn.cursor()

# استبدال 'table_name' بالجدول الذي تريد إدخال البيانات إليه
# واستبدال 'column1', 'column2', ... بأسماء أعمدة الجدول
# واستبدال القيم في قائمة values بالقيم التي تريد إدخالها


                cursor.execute("""
                insert into change_stock_1 (vin) values(%s)
                    """, (row['VIN'],))

# تأكيد التغييرات

                conn.commit()
                print(row['VIN'])
        break


except mysql.connector.Error as r:
    print(r)

# إغلاق الاتصال
conn.close()

# إغلاق الاتصال بالبريد الإلكتروني
mail.close()
mail.logout()