Changement de compte email pour envoi d'email avec Thunderbird

Bonjour à toutes et tous,

J'ai depuis quelques années une macro excel qui fonctionne très bien pour envoyer des emails automatiquement via Thunderbird.

Tout récemment, un nouveau compte email professionnel m'a été ajouté sur Thunderbird, mais lorsque je lance ma macro, c'est l'ancien mail d'envoi qui est utilisé (que j'ai conservé pour une histoire d'archive mail).

Or lorsque je regarde mon code, je ne vois à aucun moment la sélection du compte email d'envoi :

strcommand = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird"
strcommand = strcommand & " -compose " & "to='" & destinataire & "'"
strcommand = strcommand & "," & "subject=" & sujet & ","
strcommand = strcommand & "body=" & body
strcommand = strcommand & "," & "attachment=" & nomfich
Call Shell(strcommand, vbNormalFocus)

Je suis donc allé voir dans Thunderbird, pour voir s'il y avait un compte par défaut, mais je n'ai rien trouvé, et le nouveau mail est bien le premier dans ma liste de comptes emails.

Quelqu'un aurait-il eu le problème et saurait-il comment le résoudre ?

Bien à vous

Bonjour Acman,

il faut ajouter entre "subject" et "body" l'argument "from"

Cordialement

Bonsoir,

Désolé du retard de ma réponse, mais je n'ai pas eu le temps de me repencher sur le problème avant aujourd'hui.

Merci de votre retour. Je vais tester, mais je ne vois pas pourquoi ça ne fonctionnerait pas ;-)

Bon je viens de tester, et cela fonctionne parfaitement.

Mais j'ai un autre problème que j'espérais résoudre en même temps, suite à des recherches sur le forum :

Dans le corps de mon message, le fameux "body", je souhaite intégrer plusieurs lignes, avec des sauts de ligne. Voilà ce que j'ai :

body1 = "Bonjour " & Cells(ligne, 1) & ", " & Cells(5, 2) & "<br>"
body2 = "Voici ci-joint le compte rendu de ces deux derniers mois. Bonne lecture," & "<br>"
body3 = "Bien cordialement," & "<br>"

body = body1 & body2 & body3

Or lorsque mon email est généré, seul la première ligne body1 s'affiche...

Auriez vous une idée d'où vient le problème ?

bonjour,

je trouvais ce lien https://www.devhut.net/vba-send-e-mail-using-mozilla-thunderbird/

Cela vous aide ?

Bonjour Acman, salut BsAlv et le Forum

à tester,

body1 = "Bonjour " & Cells(ligne, 1) & ", " & Cells(5, 2) & "<br>"
 body1 = body1 & "Voici ci-joint le compte rendu de ces deux derniers mois. Bonne lecture." & "<br>"
 body1 = body1 & "Bien cordialement," & "<br> & """

et après

strcommand = strcommand & "body=" & body1

Merci pour vos réponses. Je vais tester et reviendrai vers vous

Bonjour,

Bon, on y presque, et ma dernière question est plus pour essayer de comprendre car le résultat est très acceptable ainsi.

J'ai utilisé l'approche proposée par Sequoyah, et j'ai bien eu la première partie du message qui s'affichait dans le corps du mail :

Bonjour Laurent
Voici ci-joint le compte rendu de ces deux derniers mois. Bonne lecture

Mais bizarrement, le bien cordialement ne s'affichait pas, tout comme la virgule après lecture...

Je me suis dit tout d'abord que c'était un problème de taille pour la variable string, mais sa capacité est bien plus importante.

Jusqu'à me rendre compte que Sequoyah avait remplacé ma virgule par un point, et que la virgule est utilisée dans strcommand pour séparer les arguments.

Le problème venait donc de l'utilisation de virgules dans le texte que je souhaite mettre dans mon corps de mail.

Ma question est donc : y-a-t-il une astuce pour pouvoir malgré tout mettre des virgules dans le corps du mail ? Ce n'est bien sûr pas indispensable, mais je me dis que les informaticiens qui ont développé tout ça ont bien dû y penser ;-)

bonjour,

avec la macro dans ce lien

Sub Test_Thunderbird()

     Dim sDestination, sSujet, sBody, sAttachment
     sDestination = "destination@france.fr"
     sSujet = "voila mon sujet"
     sAttachment = "c:\users\eigenaar\downloads\1999-37503362.pdf"
     ligne = 5
     body1 = "Bonjour " & Cells(ligne, 1) & ", " & Cells(5, 2) & "<br>"
     body2 = "Voici ci-joint le compte rendu de ces deux derniers mois. Bonne lecture," & "<br>"
     body3 = "Bien cordialement," & "<br>"
     body4 = WorksheetFunction.Rept("virgule, virgule" & "<br>", 10)
     body5 = "Bonjour Laurent" & "<br>" & "Voici ci-joint le compte rendu de ces deux derniers mois. Bonne lecture"
     sBody = body1 & body2 & body3 & "<br>" & body4 & "<br>" & body5

     TB_SendEmail sDestination, sSujet, sBody, , , , sAttachment, , 1     'envoyer ce mail avec tel sujet, body et attachment avec envoi direct !

End Sub
28acman.xlsm (29.24 Ko)

Bonjour le fil et le Forum,

une nouvelle proposition:

body1 = "Bonjour " & Cells(ligne, 1) & ", " & Cells(5, 2) & vbCrLf & "Voici ci-joint le compte rendu de ces deux derniers mois. Bonne lecture, " & vbCrLf & "Bien cordialement,"""
strcommand = strcommand & "body='" & body1 & "'"

Cordialement

Rechercher des sujets similaires à "changement compte email envoi thunderbird"