from email import encoders
from email.mime.base import MIMEBase
import mysql.connector
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# تفاصيل الاتصال بقاعدة البيانات
db_config = {
    'host': 'vsrv681.armadaservers.com',
    'database': 'mint303_change_stock',
    'user': 'mint303_change_stock',
    'password': 'Plmokn123@'
}

# الاستعلام SQL لاستخراج البيانات
query = "SELECT Vehicle_Number,Stock_Sequence_Number,Stock_Type_Code FROM change_stock_1 WHERE Status = 'In Stock'"

# تحميل البيانات من قاعدة البيانات إلى DataFrame
conn = mysql.connector.connect(**db_config)
cursor = conn.cursor()
cursor.execute(query)
rows = cursor.fetchall()
conn.close()

# اسم ملف CSV
csv_file = 'data.csv'

with open(csv_file, 'w') as f:
    # f.write(','.join(map(str, 'g,w,e,e')) + '\n')
    f.write(','.join(['Vehicle Number', 'Stock Sequence Number', 'Stock Type']) + '\n')

    for row in rows:
        f.write(','.join(map(str, row)) + '\n')

# تفاصيل البريد الإلكتروني
from_email = 'sultan@prod.nhcops.com'
to_email = 'Saldawsari@nhcholding.com'
cc_emails = ['marcot@nhcholding.com', 'Turkiq@nhcholding.com', 'adosri@nhcholding.com', 'kkhan@nhcholding.com']  # أضف عناوين البريد الإلكتروني هنا

subject = 'Full stock'

# إعداد الرسالة
msg = MIMEMultipart()
msg['From'] = from_email
msg['To'] = to_email
msg['Subject'] = subject
msg['CC'] = ", ".join(cc_emails)

body = 'The Full stock after the update'
msg.attach(MIMEText(body, 'plain'))

# إرفاق الملف
with open(csv_file, 'rb') as attachment:
    part = MIMEBase('application', 'octet-stream')
    part.set_payload(attachment.read())
    encoders.encode_base64(part)
    part.add_header('Content-Disposition', "attachment; filename= %s" % csv_file)
    msg.attach(part)

# إرسال الرسالة
server = smtplib.SMTP('vsrv681.armadaservers.com', 587)
server.starttls()
server.login(from_email, 'Sultan135@')  # تأكد من تغيير your_password
text = msg.as_string()
server.sendmail(from_email, [to_email] + cc_emails, text)  # قائمة البريد للنسخة الإضافية تحتوي على البريد الإلكتروني الرئيسي وعناوين CC
server.quit()
