Mam aplikację C #, która wysyła e-mailem raporty z arkuszy kalkulacyjnych programu Excel za pośrednictwem serwera Exchange 2007 przy użyciu protokołu SMTP. Są one w porządku dla użytkowników Outlooka, ale dla użytkowników Thunderbirda i Blackberry nazwy załączników zostały zmienione na „Część 1.2”.
Znalazłem ten artykuł, w którym opisano problem, ale nie wydaje mi się, aby go obejść. Nie mam kontroli nad serwerem Exchange, więc nie mogę tam wprowadzać zmian. Czy jest coś, co mogę zrobić po stronie C #? Próbowałem użyć krótkich nazw plików i kodowania HTML dla treści, ale żaden z nich nie zrobił różnicy.
Mój kod wysyłania poczty jest po prostu taki:
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);
}
Dzięki za wszelką pomoc.
Name
jest wyświetlana jako nazwa załącznika po odebraniu wiadomości e-mail z załącznikiem. Możesz więc spróbować dowolnej wartości.
Attachment.Name
właściwość?