Здравствуйте, мне нужно отправить файл через стандартный почтовый клиент, но такой код:
Process.Start("mailto:Test<test@foo.ru>?subject=test&body=test=" + Compress.PathToFile);
Добавляет все кроме файла, пробовал писать ?attachment, &atach, ?attach но результат один и тот же.
Здравствуйте, Miktor, Вы писали:
M>Здравствуйте, мне нужно отправить файл через стандартный почтовый клиент,
Могу предложить такие варианты:
using System;
using System.Net;
using System.Net.Mail;
using Microsoft.Office.Interop.Outlook;
using Attachment = System.Net.Mail.Attachment;
public class Program
{
static void Main()
{
CreateEmailInOutlook();
SentEmailThroughSmtpClient();
}
static void CreateEmailInOutlook()
{
var item = new Application().CreateItem(OlItemType.olMailItem) as MailItem;
item.Recipients.Add("test@foo.ru");
item.Subject = "Test subject";
item.Body = "Test body";
item.Attachments.Add(Environment.ExpandEnvironmentVariables(@"%SYSTEMROOT%\System32\license.rtf"));
item.Display();
}
static void SentEmailThroughSmtpClient()
{
const string userName = "ebda2bc6e7834b11@gmail.com";
const string password = "8d9a5de1e07e8fa8";
var client = new SmtpClient("smtp.gmail.com")
{
Port = 587,
Credentials = new NetworkCredential(userName, password),
EnableSsl = true
};
var message = new MailMessage
{
From = new MailAddress(userName),
Subject = "Test subject",
Body = "Test body",
To = { "test@foo.ru" },
Attachments = { new Attachment(Environment.ExpandEnvironmentVariables(@"%SYSTEMROOT%\System32\license.rtf")) }
};
client.Send(message);
}
}
Здравствуйте, Miktor, Вы писали:
M>Здравствуйте, мне нужно отправить файл через стандартный почтовый клиент,
Если стандартный почтовый клиент поддерживает copy-paste аттачментов, то могу попредложить взять в качестве затравки такой код (его, естественно, надо доработать до рабочего состояния):
using System;
using System.Collections.Specialized;
using System.Diagnostics;
using System.Threading;
using System.Windows.Forms;
public class Program
{
[STAThread]
static void Main()
{
Process.Start("mailto:test@foo.ru?subject=test&body=test");
Thread.Sleep(100); // wait until program have started
Clipboard.SetFileDropList(new StringCollection {Environment.ExpandEnvironmentVariables(@"%SYSTEMROOT%\System32\license.rtf") });
SendKeys.SendWait("+{INS}");
}
}
Да, я тоже думал сразу через смтп клиент делать, но начальник сказал что не надо, но привязываться к оутлуку тоже не могу т.к. не известно какой у клиента будет настроенный почтовый клиент.
Здравствуйте, Miktor, Вы писали:
M>Здравствуйте, мне нужно отправить файл через стандартный почтовый клиент, но такой код:
Пользуюсь
этим.
Будут вопросы, спрашивай
Удачи!
... << RSDN@Home 1.2.0 alpha 5 rev. 1536>>