Bonjour,
j'utilise le module Net::SMTP pour envoyer un email avec une piece jointe.
dans le code, je lui donne le chemin de mon fichier (D:/rep/fichier.txt) mais quand je recois l'email, dans la zone piece jointe, le nom du fichier jointe deviet Drepfichier.txt
Je souhaiterai savoir comment je peux dans la zone pièce jointe, afficher seulement le nom du fichier et non le chemin complet.
voila une partie du code
Merci,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 if ($self->{ATTACHMENTS}) { @filelist=split(";",$self->{ATTACHMENTS}); foreach $file (@filelist) { if (open(FILE,$file) || die "Le fichier ".$file." n'existe pas") { binmode(FILE); $file=~s/C:\\//gi; $data=undef; # file in buffer while (sysread(FILE,$buffer,1)) { $data .= $buffer; } close FILE; if ($data){ $self->{NET_SMTP}->datasend("--separator\n"); $self->{NET_SMTP}->datasend("Content-Type: application/octet-stream; name=\"".$file."\"\n"); $self->{NET_SMTP}->datasend("Content-Transfer-Encoding: base64\n"); $self->{NET_SMTP}->datasend("Content-Disposition: attachment; filename=\"".$file."\"\n\n"); $self->{NET_SMTP}->datasend(encode_base64($data)); } } }
Partager