Gambas France BETA


Pas de compte ? Incription

Type mine avec smtp

1
AuteurMessages
lapenduledargent#1 Posté le 5/7/2015 à 10:49:46
Bonjour,

J'utilise gb.net.smtp pour envoyer un Email.
Dans ce mail, j'envoie un pdf et un contenu.

Pour le pdf, je fais :
1
.Add(t$, "application/pdf", "explication-digicode.pdf")


Mon contenu se trouve dans une Texatrea.
Je fais :
1
.Add(TxtMailAmis.Text, "text/plain; charset= utf-8 ")


Lorsque j'envoie mon message, dans ma boîte mail, je le reçois en deux exemplaires.
Le premier est correct et le second est estampé "This is a MIME multipart/mixed message."

Que dois-je mettre pour empêcher cela ?

Bon dimanche,

Pierre
lapenduledargent#2 Posté le 18/7/2015 à 11:22:18
Bonjour,

Pour mon problème de type Mine personne n'a une idée ?

Bon weekend à tous.

Pierre
Gambette#3 Posté le 18/7/2015 à 12:10:54
Bonjour,

peut-être

.Add(TxtMailAmis.Text, "text/plain; charset= utf-8", "file.txt")
lapenduledargent#4 Posté le 18/7/2015 à 18:04:59
Bonjour Gambette,

Je viens de refaire une série de test alors :

Si j'envoie un pdf ou une TextBox1 seul,je n'ai pas d'erreur. Mais je reçois le mail en double exemplaire.

Si j'envoie les deux :
1
2
SmtpClient1.Add(t$, "application/pdf")
SmtpClient1.Add(TextBox1.Text, "text/plain; charset= utf-8")


J'ai toujours le mail en double mais en plus,

le message suivant se mets en début de mail :

This is a MIME multipart/mixed message.
Gambette#5 Posté le 18/7/2015 à 19:11:48
dans mes archives j'utilisais le composant smtp de la façon suivante :

Soit Textbox1.Text le corps du mail et t$ la pièce jointe.

SmtpClient1.Add(TextBox1.Text, "text/plain) 'je ne mettais pas le type mime dans le corps du mail et je le mettais en première position
SmtpClient1.Add(t$, "application/pdf")

A l'époque j'avais un peu galéré avec ce composant et depuis je gère directement le gestionnaire de courriel défini par l'utilisateur.
lapenduledargent#6 Posté le 18/7/2015 à 21:04:26
Bonsoir,

Je viens de réessayer ça ne fonctionne toujours pas.
J'ai utilisé la fonction "SmtpClient1.Alternative = True"
Je n'ai plus le message d'erreur dans le mail.
J'ai toujours deux mails en suivant ?
Dans le premier il est créer un fichier vide "nomame"

A l'époque j'avais un peu galéré avec ce composant et depuis je gère directement le gestionnaire de courriel défini par l'utilisateur.


Que veux-tu dire par gestionnaire de courriel défini par l'utilisateur ?
lapenduledargent#7 Posté le 18/7/2015 à 21:07:00
Je viens de trouver ça :

http://stackoverflow.com/questions/20831788/email-attachment-received-as-noname
Gambette#8 Posté le 20/7/2015 à 11:51:49
Salut,
voilà comment je procède.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
PUBLIC SUB Envoi(Email AS STRING, sujet AS STRING, Corps AS STRING, piece AS STRING)

IF NOT IsNull(Settings["/Prgmail"]) THEN
SELECT CASE Settings["/Prgmail"]
CASE "Thunderbird"
corps = Replace$(corps, ",", "%2C")
corps = Replace$(corps, "\n", "%0A")
corps = Replace$(corps, "(", "{")
corps = Replace$(corps, ")", "}")
corps = Replace$(corps, "'", " ")
corps = Replace$(corps, ";", "%2C")
'Print "thunderbird -compose" & " \"" & "to=" & Email & ",subject=" & sujet & ",body=" & corps & ",attachment=" & piece & "\""
SHELL "thunderbird -compose" & " \"" & "to=" & Email & ",subject=" & sujet & ",body=" & corps & ",attachment=" & piece & "\""

CASE "Icedove"
corps = Replace$(corps, ",", "%2C")
corps = Replace$(corps, "\n", "%0A")
corps = Replace$(corps, "(", "{")
corps = Replace$(corps, ")", "}")
corps = Replace$(corps, "'", " ")
corps = Replace$(corps, ";", "%2C")
SHELL "icedove -compose" & " to=" & Email & ",subject=" & sujet & " ,attachment=" & piece & ",body=" & corps

CASE "Evolution"
EXEC ["evolution", "mailto:" & Email & "?subject=" & sujet & "\\&body=" & corps & "\\&attach=" & piece]

CASE "Kmail"
EXEC ["kmail -s " & sujet & " --attach " & piece & " --msg " & corps & " " & Email]

END SELECT
ELSE
Message.Warning("Le gestionnaire de messagerie n'est pas défini dans les préférences !"
ENDIF

END


Tu appelles la procédure en mettant :
Email = adresse courriel du destinataire.
Sujet = L'entête du courriel
Corps = le corp du message a envoyé
Piece = Le nom et le chemin de la piece jointe

L'avantage de cela par rapport au composant Smtp c'est que tu conserves une trace des courriels dans les historiques de ton gestionnaire de courriels.

NB le type du gestionnaire de courriel est stocké dans le fichier setting sous la variable "Prgmail"
lapenduledargent#9 Posté le 23/7/2015 à 20:43:42
Bonsoir,

Merci Gambette pour ces infos.

Bonne soirée,

Pierre
1