Проблемы с отправкой писем через Outlook с помощью библиотеки Win32 в Django

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

В общем, письма отправляются и доходят до адресата, но проблема в том, что адресат не меняется.

Изначально, когда я начинал этот проект, я использовал одно тестовое письмо для использования в различных сценариях. Это письмо было "email1@outlook.com". Позже я добавил еще один email для другого пользователя по имени User 2 с его собственным email "email2@outlook.com".

Проблема в том, что получатель не меняется. Я специально выбираю, чтобы моим получателем был "email2@outlook.com", но все письма я всегда получаю на "email1@outlook.com".

outlook = win32.Dispatch('Outlook.Application')
mail = outlook.CreateItem(0)
mail.SentOnBehalfOfName = 'xxxxxxxx@outlook.com'
mail.To = email
mail.Subject = 'NUEVA SOLICITUD DE PRUEBAS DE LABORATORIO'
mail.BodyFormat = 2
html_body = f"""
    <html>
    <body style="font-family: 'Arial', sans-serif; background-color: #f4f4f4; margin: 0; padding: 0;">
        <div style="max-width: 600px; margin: 20px auto; background-color: #ffffff; padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);">
        <h1 style="color: #333; margin-bottom: 10px;">Nueva solicitud de pruebas de laboratorio de {full_name}</h1>
        <p style="color: #555; margin-bottom: 20px;">El usuario {full_name} ha creado una nueva solicitud de pruebas de laboratorio para el cliente {customer} con una fecha requerida para el {require_date}. A continuación, se detallan más información y enlaces:</p>

        <ul style="list-style-type: none; padding: 0;">
            <li><strong>Cliente:</strong> {customer}</li>
            <li><strong>Usuario:</strong> {full_name}</li>
            <li><strong>Fecha requerida:</strong> {require_date}</li>
            <li><strong>Enlace al sitio:</strong> <a href="{dynamic_link}" style="color: #007BFF; text-decoration: none;">Ir al Sitio</a></li>
        </ul>

        <div style="margin-top: 20px; border-top: 1px solid #ddd; padding-top: 20px;">
            <p style="color: #888; font-size: 14px;">Este correo electrónico fue generado automáticamente. Por favor, no responda a este correo.</p>
        </div>
        </div>
    </body>
    </html>
    """
mail.HTMLBody = html_body

mail.Send()
           
# Forzar la sincronización para enviar el correo inmediatamente
outlook_namespace = outlook.GetNamespace("MAPI")
sync_objects = outlook_namespace.SyncObjects
for sync_object in sync_objects:
    sync_object.Start()

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

engineer_instance = get_object_or_404(Engineers, role='admin')
            engineer_serializer = EnginnerAdminSerializer(engineer_instance)
            email = engineer_serializer.data['email']

<<<0><0>>Решение

заключается в том, что адрес электронной почты отправителя должен совпадать с адресом электронной почты по умолчанию в приложении outlook.
Вернуться на верх