Отправка электронной почты с вложением на C# с помощью Amazon SES

Я использую Amazon SES для отправки электронной почты. Как отправить электронное письмо с вложением на C# с помощью Amazon SES?

Код:

            AmazonSimpleEmailServiceConfig amConfig = new AmazonSimpleEmailServiceConfig();
            amConfig.UseSecureStringForAwsSecretKey = false;
            AmazonSimpleEmailServiceClient amzClient = new AmazonSimpleEmailServiceClient("username", "password", amConfig);
            ArrayList to = new ArrayList();                        
            to.Add("[email protected]");

            Destination dest = new Destination();
            dest.WithBccAddresses((string[])to.ToArray(typeof(string)));
            string body = "INSERT HTML BODY HERE";
            string subject = "INSERT EMAIL SUBJECT HERE";
            Body bdy = new Body();
            bdy.Html = new Amazon.SimpleEmail.Model.Content(body);
            Amazon.SimpleEmail.Model.Content title = new Amazon.SimpleEmail.Model.Content(subject);
            Message message = new Message(title, bdy);
            SendEmailRequest ser = new SendEmailRequest("[email protected]", dest, message);
            SendEmailResponse seResponse = amzClient.SendEmail(ser);
            SendEmailResult seResult = seResponse.SendEmailResult; 

person sharmila    schedule 18.03.2012    source источник
comment
Вы отправляете электронную почту с помощью SES так же, как и любую другую электронную почту в C#. Вам необходимо опубликовать код C#, конкретные вопросы и конкретные ошибки, которые вы можете получить в своем коде.   -  person paulsm4    schedule 18.03.2012
comment
Спасибо. Я хочу, чтобы код отправил электронное письмо с вложением   -  person sharmila    schedule 18.03.2012


Ответы (3)


Ничего особенного в Amazon SES, просто укажите свой smtp-сервер и отправьте его.

public static void SendWithSMTP(string name, string pass, string host, int port)
{
    using (var client = new System.Net.Mail.SmtpClient(host, port))
    {
        client.Credentials = new System.Net.NetworkCredential(name, pass);
        client.EnableSsl = true;
        MailMessage mail = new MailMessage("[email protected]","[email protected]",head, body);
        mail.Attachments.Add(new Attachment("specify your attachment path"));
        client.Send(mail);
    }
}
person emre nevayeshirazi    schedule 18.03.2012
comment
Спасибо. Я закодировал отправку электронной почты без вложений. Мне нужно для электронной почты с приложением - person sharmila; 18.03.2012
comment
в моем примере есть вложение. - person emre nevayeshirazi; 18.03.2012
comment
Прости. Я не заметил. Дай мне попробовать. Спасибо - person sharmila; 18.03.2012
comment
Я получаю исключение Ошибка отправки почты. Внутреннее исключение, поскольку невозможно прочитать данные из транспортного соединения: net_io_connectionclosed... не могли бы вы помочь? - person sharmila; 18.03.2012

Проблема с SMTP заключается в том, что вы не можете использовать более безопасную роль EC2Role. Вы должны внедрить учетные данные. Не лучшая практика. Вы должны использовать SendRawEmail

person Robert    schedule 02.03.2020

Вы можете отправить URL-адрес файла и попросить пользователя загрузить файл.

person susheel    schedule 27.10.2012