J'ai une application C # qui envoie par e-mail des rapports de feuille de calcul Excel via un serveur Exchange 2007 utilisant SMTP. Celles-ci arrivent bien pour les utilisateurs d'Outlook, mais pour les utilisateurs de Thunderbird et Blackberry, les pièces jointes ont été renommées «Partie 1.2».
J'ai trouvé cet article qui décrit le problème, mais ne semble pas me donner une solution de contournement. Je n'ai pas le contrôle du serveur Exchange, je ne peux donc pas y apporter de modifications. Puis-je faire quelque chose du côté C #? J'ai essayé d'utiliser des noms de fichiers courts et un codage HTML pour le corps, mais aucun des deux n'a fait de différence.
Mon code d'envoi de courrier 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.
Name
s'affiche comme nom de la pièce jointe lorsque l'e-mail avec la pièce jointe est reçu. Vous pouvez donc essayer n'importe quelle valeur.
Attachment.Name
propriété?