Невозможно отправить электронное письмо с приложением - PullRequest
0 голосов
/ 15 февраля 2012

Моя проблема заключается в том, что я пытаюсь использовать задачу отправки электронной почты на своем веб-сайте для администратора.

Когда он выбирает идентификаторы электронной почты из доступных данных, добавляет вложение и отправляет электронное письмо, оно никогда не было получено пользователем. Однако, если он использует простую рассылку, т.е. без каких-либо вложений, пользователь получает его.

Можете ли вы помочь, пожалуйста?

Моя кодировка приведена ниже: -

public partial class SahibAdmin_emailNewsletter : System.Web.UI.Page
{
  // ... 

  private void SendNewsletter(string emailId)
  {
        System.Web.Mail.MailMessage message = new System.Web.Mail.MailMessage();
        message.To = emailId;
        message.From = "info@sahibimports.com";
        message.Subject = "Please See: Newsletter from Sahib imports";
        message.BodyFormat = System.Web.Mail.MailFormat.Text;
        message.Body = txtBody.Text.ToString();
        if (msgUpload.HasFile)
        {
              //string strFileName = msgUpload.FileName;
              //msgUpload.PostedFile.SaveAs(Server.MapPath(strFileName));
              //System.Web.Mail.MailAttachment attach =
              //  new System.Web.Mail.MailAttachment(Server.MapPath(strFileName));
              //message.Attachments.Add(attach);

              message.Attachments.Add(new Attachment(
                 FileUpload.PostedFile.InputStream, FileUpload.FileName));

        }
        System.Web.Mail.SmtpMail.Send(message);
        Response.Flush();

  }

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Согласно http://msdn.microsoft.com/en-us/library/6sdktyws.aspx ваш Attachment конструктор пытается установить ContentType со вторым параметром, но вы передаете имя файла, вы уверены, что это правильно?

Вы, вероятно, должны изменить эту часть на что-то вроде:

ContentType contentType = // create suitable type here based on your file format
Attachment attachment = new Attachment(
    FileUpload.PostedFile.InputStream,
    contentType
);
attachment.ContentDisposition.FileName = FileUpload.FileName;
message.Attachments.Add(attachment);
0 голосов
/ 05 сентября 2016

Вы пытаетесь использовать System. Net .Mail.Attachment with System. Web .Mail.MailMessage.

Эти API несовместимы с каждымДругой.System. Web .Mail.MailMessage поддерживает только System. Web .Mail.MailAttachment, но не System. Net .Mail.Attachment.

...