mailto с attachment
От: Miktor  
Дата: 17.08.11 20:35
Оценка:
Здравствуйте, мне нужно отправить файл через стандартный почтовый клиент, но такой код:

Process.Start("mailto:Test<test@foo.ru>?subject=test&body=test=" + Compress.PathToFile);


Добавляет все кроме файла, пробовал писать ?attachment, &atach, ?attach но результат один и тот же.
Re: mailto с attachment
От: Lloyd Россия  
Дата: 17.08.11 21:08
Оценка:
Здравствуйте, Miktor, Вы писали:

M>Добавляет все кроме файла, пробовал писать ?attachment, &atach, ?attach но результат один и тот же.


А почему вы думаете, что это можно сделать?
Re: mailto с attachment
От: nikov США http://www.linkedin.com/in/nikov
Дата: 17.08.11 21:09
Оценка:
Здравствуйте, 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);
    }
}
Re: mailto с attachment
От: nikov США http://www.linkedin.com/in/nikov
Дата: 17.08.11 21:33
Оценка:
Здравствуйте, 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}");
    }
}
Re[2]: mailto с attachment
От: Miktor  
Дата: 17.08.11 22:34
Оценка:
Да, я тоже думал сразу через смтп клиент делать, но начальник сказал что не надо, но привязываться к оутлуку тоже не могу т.к. не известно какой у клиента будет настроенный почтовый клиент.
Re: mailto с attachment
От: Kalina9001  
Дата: 18.08.11 06:52
Оценка:
Здравствуйте, Miktor, Вы писали:

M>Здравствуйте, мне нужно отправить файл через стандартный почтовый клиент, но такой код:


Пользуюсь этим.
Будут вопросы, спрашивай



Удачи!
... << RSDN@Home 1.2.0 alpha 5 rev. 1536>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.