[C#]envoi de mail avec lotus notes 6.5.1 - pb de formattage du corps de message
Bonjour tout le monde,
Je developpe une appli qui doit envoyer des mails en joignant des fichiers en piece jointe. L'envoi de mail doit passer par Lotus Notes (on fait avec ce qu'on a...).
J'ai bien trouve un bout de code qui m'a depanne. J'ai pourtant toujours un leger probleme : je veux pouvoir ecrire un petit message aux destinataires, seulement le corps du mail ne respecte pas les sauts de ligne.
Voici mon code C#, adapte d'un celebre code VB qui traine sur les pages de ce forum:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| // start a Notes session
Domino.NotesSession session = new Domino.NotesSession();
session.Initialize(password);
// get the session user name
string userName = session.UserName; // something like "CN=Bertrand Rigal/OU=xxx/O=xxx"
string mailDbName = "names.nsf"; // default name used in my corpo
// open the mail database in Notes
Domino.NotesDatabase mailDb = session.GetDatabase("", mailDbName, false);
if (!mailDb.IsOpen)
{
mailDb.Open();
}
// set up the new mail document
Domino.NotesDocument mailDoc = mailDb.CreateDocument();
mailDoc.AppendItemValue("Form", "Memo");
mailDoc.AppendItemValue("Memo", "Memo");
mailDoc.AppendItemValue("SendTo", this._to.ToArray());
mailDoc.AppendItemValue("Recipients", this._to.ToArray());
mailDoc.AppendItemValue("CopyTo", this._cc.ToArray());
mailDoc.AppendItemValue("BlindCopyTo", this._bcc.ToArray());
mailDoc.AppendItemValue("From", userName);
mailDoc.AppendItemValue("Subject", subject);
mailDoc.AppendItemValue("DeliveryOption", "High");
mailDoc.AppendItemValue("DeliveryReport", "Basic");
mailDoc.AppendItemValue("ReturnReceipt", "No");
DateTime dt = DateTime.Now;
mailDoc.AppendItemValue("ComposedDate", dt);
mailDoc.AppendItemValue("PostedDate", dt);
mailDoc.AppendItemValue("Body", body);
mailDoc.SaveMessageOnSend = true;
// set up the embedded object and attachment and attach it
if (!attachment.Equals(""))
{
Domino.NotesRichTextItem attachMe = mailDoc.CreateRichTextItem("Attachment");
Domino.NotesEmbeddedObject embedObj = attachMe.EmbedObject(Domino.EMBED_TYPE.EMBED_ATTACHMENT, "", attachment, "Attachment");
}
// send the document
Object dummy = ""; // don't ask me why... it works !
mailDoc.Send(true, ref (Object)dummy); |
Lorsque je donne la valeur suivant a body :
Code:
string body = "Alert Report - DATE: " + DateTime.Now + " \n-- \nBest regards, \n";
le corps du message s'affiche sur une seule ligne (et "\n" ne s'affiche pas).
Est-ce que quelqu'un a la moindre idee ou suggestion ?
Egalement si quelqu'un peut m'expliquer l'utilite de dummy. Le code VB original ne renseignait pas le deuxieme argument optionnel de Send(...), seulement en C#, il n'y a pas le choix.
Est-ce qu'il n'y a pas moyen de faire plus propre ?
Merci d'avance
Bertrand