2017-01-04 1 views
1

J'ai créé un client C# pour télécharger les e-mails de ma boîte aux lettres POP3 et les transférer vers mon serveur d'échange interne via SMTP.Transférer des e-mails via le client C# SMTP et conserver les horodatages et les délais de livraison

Le code ci-dessous fonctionne. Mais les informations d'horodatage et de délai de livraison de l'e-mail d'origine sont remplacées, d'où leur perte car ce code crée un nouvel e-mail complet.

Y a-t-il une chance de transférer des courriels sans perdre les informations d'horodatage de l'e-mail d'origine?

using (SmtpClient smtp = new SmtpClient()) 
{ 
    smtp.Connect(connectionServer["ExchangeServer"], 25); 
    try 
    { 
     smtp.Ehlo(connectionServer["ExchangeServer"] + "." + 
      connectionServer["ExchangeServerDomain"] + ".local"); 
    } 
    catch 
    { 
     success = false; 
     smtp.Helo(connectionServer["ExchangeServer"] + "." + 
      connectionServer["ExchangeServerDomain"] + ".local"); 
    } 
    smtp.MailFrom(""); 
    smtp.RcptTo(popReceipient); 
    smtp.DataFromFile(path); 
    smtp.Disconnect(); 
} 
+0

Malheureusement, ce n'est pas possible – Steve

+0

Merci pour votre réponse Steve. J'ai presque déjà pensé que ce serait peut-être la réponse ... Mais il y avait un peu d'espoir qu'il y ait un truc. Je pense que c'est peut-être pour des raisons de sécurité. – Simon

Répondre

0

Ce n'est pas possible. Une autre option consisterait à utiliser OpenPop.Net pour envoyer un e-mail distinct avec l'e-mail d'origine joint en tant que fichier "* .eml" pouvant être ouvert avec la plupart des clients de messagerie. Je peux poster du code si cette approche est utile pour vous.

+0

Pourrait être un travail autour, mais la manipulation pour l'utilisateur final est un peu difficile. Dans mon cas, ce n'est pas possible et je dois peut-être accepter le peu de différence de temps de téléchargement et de transmission de l'e-mail POP3. – Simon

0

Pouvez-vous accéder à votre serveur de destination via IMAP?

Si tel est le cas, vous pouvez ajouter le courrier à votre dossier INBOX avec des horodatages arbitraires. Si vous pouvez accéder à votre serveur source via IMAP, vous pouvez également utiliser INTERNALDATE pour l'utiliser comme horodatage.