-3

J'ai ce code qui envoie un simple e-mail en utilisant des objets SmtpClient, MailMessage et MailAddress:Comment puis-je ajouter une pièce jointe à un MailMessage?

private void EmailMessage(string msg) 
{ 
    string TO_EMAIL = "[email protected]"; 
    var windowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent(); 
    string userName = windowsIdentity.Name; 
    string subject = string.Format("Log msg from Report Runner app sent {0}; user was {1}", DateTime.Now.ToLongDateString(), userName); 
    string body = msg; 

    var SmtpServer = new SmtpClient(ReportRunnerConstsAndUtils.EMAIL_SERVER); 
    var SendMe = new MailMessage(); 
    SendMe.To.Add(TO_EMAIL); 
    SendMe.Subject = subject; 
    SendMe.From = new MailAddress(ReportRunnerConstsAndUtils.FROM_EMAIL); 
    SendMe.Body = body; 
    try 
    { 
     SmtpServer.UseDefaultCredentials = true; 
     SmtpServer.Send(SendMe); 
    } 
} 

Je dois aussi, bien que, pour joindre un fichier à un e-mail. Je faisais l'aide d'Outlook comme ceci:

Application app = new Application(); 
MailItem mailItem = app.CreateItem(OlItemType.olMailItem); 
. . . 
FileInfo[] rptsToEmail = GetLastReportsGenerated(); 
foreach (var file in rptsToEmail) 
{ 
    String fullFilename = String.Format("{0}\\{1}", uniqueFolder, file.Name); 
    if (!file.Name.Contains(PROCESSED_FILE_APPENDAGE)) 
    { 
     mailItem.Attachments.Add(fullFilename); 
    } 
} 
mailItem.Importance = OlImportance.olImportanceNormal; 
mailItem.Display(false); 

... mais je dois aller loin de l'utilisation d'Outlook pour cela. Ici, le MailItem est un Microsoft.Office.Interop.Outlook.MailItem

Comment puis-je ajouter des pièces jointes dans le simple MailMessage que je dois utiliser maintenant?

La définition de l'importance n'est pas trop importante, je ne pense pas, mais l'affichage est quelque chose que je devrai également définir pour le MailMessage.

Répondre

-3

Facile:

if (!file.Name.Contains(PROCESSED_FILE_APPENDAGE)) 
{ 
    var attachment = new Attachment(fullFilename); 
    mailMsg.Attachments.Add(attachment); 
} 
mailMsg.Priority = MailPriority.Normal;