J'ai une application C# qui envoie des rapports de feuille de calcul Excel par e-mail via un serveur Exchange 2007 en utilisant SMTP. Ils arrivent bien pour les utilisateurs d'Outlook, mais pour les utilisateurs de Thunderbird et de Blackberry, les pièces jointes ont été renommées en "Part 1.2".
J'ai trouvé cet article qui décrit le problème, mais ne semble pas me donner de solution de contournement. Je n'ai pas le contrôle du serveur Exchange donc je ne peux pas y apporter de modifications. Y a-t-il quelque chose que je peux faire du côté C# ? J'ai essayé d'utiliser des noms de fichiers courts et le codage HTML pour le corps mais cela n'a rien changé.
Mon code d'envoi de mail est simplement le suivant:
public static void SendMail(string recipient, string subject, string body, string attachmentFilename)
{
SmtpClient smtpClient = new SmtpClient();
NetworkCredential basicCredential = new NetworkCredential(MailConst.Username, MailConst.Password);
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress(MailConst.Username);
// setup up the host, increase the timeout to 5 minutes
smtpClient.Host = MailConst.SmtpServer;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = basicCredential;
smtpClient.Timeout = (60 * 5 * 1000);
message.From = fromAddress;
message.Subject = subject;
message.IsBodyHtml = false;
message.Body = body;
message.To.Add(recipient);
if (attachmentFilename != null)
message.Attachments.Add(new Attachment(attachmentFilename));
smtpClient.Send(message);
}
Merci pour toute aide.
0 votes
Avez-vous essayé de définir / modifier la propriété
Attachment.Name
?0 votes
Non, je ne l'ai pas - "Obtient ou définit la valeur du nom du type de contenu MIME", avez-vous une suggestion quant à quelle valeur essayer ? Merci.
0 votes
Le
Nom
est affiché comme le nom de la pièce jointe lors de la réception de l'e-mail avec la pièce jointe. Vous pouvez donc essayer n'importe quelle valeur.