Envoi d'emails avec des pièces jointes à partir de C#, les pièces jointes arrivent à la Partie 1.2 dans Thunderbird

J'ai une application en C# qui mail feuille de calcul Excel des rapports par le biais d'un serveur Exchange 2007 en utilisant le protocole SMTP. Ces arriver amende pour les utilisateurs d'Outlook, mais pour Thunderbird et les utilisateurs de Blackberry, les pièces jointes ont été renommés en tant que "Partie 1.2".

J'ai trouvé ce l'article qui décrit le problème, mais ne semble pas me donner une solution de contournement. Je n'ai pas de contrôle du serveur Exchange ne peut donc pas procéder à des modifications. Est-ce que je peux faire sur le C# fin? J'ai essayé d'utiliser des noms de fichiers courts et de codage HTML pour le corps, mais ne fait une différence.

Mon envoi de mail code est simplement ceci:

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.

  • Avez-vous essayé de définir/modifier Attachment.Name propriété?
  • Non, je n'ai pas "Obtient ou définit le type de contenu MIME valeur de nom", avez-vous des suggestions quant à ce que la valeur de l'essayer? Merci.
  • Le Name est affiché sous le nom de la pièce jointe lors de l'e-mail avec la pièce jointe est reçu. De sorte que vous pouvez essayer n'importe quelle valeur.
InformationsquelleAutor Jon | 2010-05-13