Breve resumen:

Estoy escribiendo un guión para enviar una plantilla para el trabajo, pero normalmente envío mensajes como el correo de nuestro equipo para visibilidad dentro de mi equipo. La mayor parte funciona como se esperaba, pero me falta la acción de envío de correo o estoy haciendo algo mal. Normalmente solo selecciono el remitente alternativo en Outlook cuando redacto el mensaje desde el menú desplegable "DESDE".

¿Qué atributo me permitirá especificar una dirección de envío diferente?

Algo así como:

newMail.From = "mailer@my.org"

Versión simplificada de lo que estoy trabajando para enviar un cuerpo HTML:

import win32com.client
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = "the subject"
#newMail.Body = "body text"
newMail.HTMLBody  = """<a href="https://google.com">Google Link</a>"""
newMail.To = "customer@example.org"
#newMail.CC = 'Bob'
#attachment1 = "c:\\mypic.jpg"
#newMail.Attachments.Add(attachment1)
newMail.Send()
1
Zach Reneau 5 sep. 2014 a las 03:24

2 respuestas

La mejor respuesta

Lo encontré:

newMail.SentOnBehalfOfName = "mailer@company.com"

Eso me permitió enviar el mensaje como nuestra lista de correo utilizando mi perfil de usuario.

5
Zach Reneau 5 sep. 2014 a las 01:41

De acuerdo con el MailItem en el modelo de objetos de Outlook, lo que desea es el propiedad Sender:

Devuelve o establece un objeto AddressEntry que corresponde al usuario de la cuenta desde la cual se envía MailItem. Leer escribir.

En los comentarios:

En una sesión en la que se definen varias cuentas en el perfil, puede establecer esta propiedad para especificar la cuenta desde la que enviar un elemento de correo. Establezca esta propiedad en el objeto AddressEntry del usuario que está representado por la propiedad CurrentUser de una cuenta específica.

Si configura la propiedad Sender en un AddressEntry que no tiene permisos para enviar mensajes en esa cuenta, Outlook generará un error.

Entonces, si "mailer@my.org" tiene permisos para enviar a través de su cuenta de Outlook, así es como lo hace; Si no es así, no hay forma de hacerlo.

La sección "Ver también" tiene un enlace a un ejemplo completo (en C #, pero debería poder traducir).

0
Community 20 jun. 2020 a las 09:12