Sorry, i was not there for a week... Here is the code i use to send the message:
Mail_Message message = new Mail_Message ();
message.MimeVersion = "1.0";
message.MessageID = MIME_Utils.CreateMessageID ();
message.Date = DateTime.Now;
message.From = new Mail_t_MailboxList ();
message.From.Add (new Mail_t_Mailbox (_fromname, _frommail));
message.To = new Mail_t_AddressList ();
// -->> _mailTO, _mailCC and _mailBCC are Arraylist objects containing couples <displayname>-<mailaddress>
for (int ii=0;ii<_mailTO.Count;ii++)
{
message.To.Add (new Mail_t_Mailbox (_mailTO[ii].DisplayName, _mailTO[ii].Address));
}
message.Cc = new Mail_t_AddressList ();
for (int ii=0;ii<_mailCC.Count;ii++)
{
message.Cc.Add (new Mail_t_Mailbox (_mailCC[ii].DisplayName, _mailCC[ii].Address));
}
message.Bcc = new Mail_t_AddressList ();
for (int ii=0;ii<_mailBCC.Count;ii++)
{
message.Bcc.Add (new Mail_t_Mailbox (_mailBCC[ii].DisplayName, _mailBCC[ii].Address));
}
message.Subject = _mailsubject;
// multipart/mixed
MIME_h_ContentType contentType_multipartMixed = new MIME_h_ContentType (MIME_MediaTypes.Multipart.related);
contentType_multipartMixed.Param_Boundary = Guid.NewGuid ().ToString ().Replace ('-', '.');
MIME_b_MultipartRelated multipartMixed = new MIME_b_MultipartRelated (contentType_multipartMixed);
message.Body = multipartMixed;
// multipart/alternative
MIME_Entity entity_multipartAlternative = new MIME_Entity ();
MIME_h_ContentType contentType_multipartAlternative = new MIME_h_ContentType (MIME_MediaTypes.Multipart.alternative);
contentType_multipartAlternative.Param_Boundary = Guid.NewGuid ().ToString ().Replace ('-', '.');
MIME_b_MultipartAlternative multipartAlternative = new MIME_b_MultipartAlternative (contentType_multipartAlternative);
entity_multipartAlternative.Body = multipartAlternative;
multipartMixed.BodyParts.Add (entity_multipartAlternative);
if (_bodyformat == MsgFormat.Text)
{
// text/plain
MIME_Entity entity_text_plain = new MIME_Entity ();
MIME_b_Text text_plain = new MIME_b_Text (MIME_MediaTypes.Text.plain);
entity_text_plain.Body = text_plain;
text_plain.SetText (MIME_TransferEncodings.QuotedPrintable, Encoding.UTF8, _mailbody);
multipartAlternative.BodyParts.Add (entity_text_plain);
}
else
{
// text/html
MIME_Entity entity_text_html = new MIME_Entity ();
MIME_b_Text text_html = new MIME_b_Text (MIME_MediaTypes.Text.html);
entity_text_html.Body = text_html;
text_html.SetText (MIME_TransferEncodings.SevenBit, Encoding.UTF8, _mailbody);
multipartAlternative.BodyParts.Add (entity_text_html);
}
message.ReplyTo = new Mail_t_AddressList ();
message.ReplyTo.Add (new Mail_t_Mailbox (null, _replyTO));
// -->> _mailAttachments is an Arraylist object containing attachments to add
for (int ii=0;ii<_mailAttachments.Count;ii++)
{
multipartMixed.BodyParts.Add (Mail_Message.CreateAttachment (_mailAttachments[ii].ToString ()));
}
switch (_mailpriority)
{
case MailPriority.High:
message.Priority = "urgent";
break;
case MailPriority.Low:
message.Priority = "non-urgent";
break;
default:
message.Priority = "normal";
break;
}
using (MemoryStream _mstr = new MemoryStream ())
{
message.ToStream (_mstr, null, null);
_mstr.Position = 0;
using (SMTP_Client oSMTP = new SMTP_Client ())
{
oSMTP.Connect (_servername, _serverport, _useSSL);
oSMTP.Authenticate (_authuser, _authpwd);
oSMTP.MailFrom (((Mail_t_Mailbox) message.From[0]).Address, _mstr.Length);
foreach (Mail_t_Address to in message.To)
{
oSMTP.RcptTo (((Mail_t_Mailbox) to).Address);
}
oSMTP.SendMessage (_mstr);
oSMTP.Disconnect ();
}
}
Thank you in advance
Bracco