Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2525
  • Last Modified:

Delphi / Indy. Problem with sending email with attachments

Good Day

I am having trouble with sending out emails with a pdf attachments. I am using wpdf to generate the pdf documents.

I create entries into a table and then I read one by one from the table and send the emails out with the attachments. Sometimes I can send 20 emails with the pdf attachment and I works 100%, but other times I get the emails with the following error : "Disposition: attachment".

I have included the body of the email.

Please advice what the problem is and how can I solve this. EMail-body.txt
1
henryreynolds
Asked:
henryreynolds
  • 2
  • 2
1 Solution
 
briangochnauerCommented:
Try the code below; works for me on tens of thousands of clients it's running on.
function SendMailResults(const email:String):boolean;
var sendfile :string;
    IdSMTP1  : TIdSMTP;
    SentMsg  : TIDMessage;
    Attachment : TIdAttachmentfile;
    base :string;
const CRLF : string = #10#13;
begin

    IdSMTP1 := TIdSMTP.Create(self);
    Name := 'IdSMTP1';
    idSMTP1.Host := emailSMTPHost; //like '10.105.0.0';
    SentMsg := TIDMessage.Create(nil);

    with SentMsg do
      begin
        IsEncoded := True ;
        Encoding := meMIME;
        Subject :=  'PDF';
        Body.Add('PDF attached');
        From.address := emailSMTPFrom;//'ed at mail dot nl';
        Recipients.EMailAddresses := email;//'jk at them dot nl';
      end;

    sendfile := 'c:\yourfile.pdf';
    if FileExists(SendFile) then
     begin
       Attachment := TIdAttachmentfile.Create(SentMsg.MessageParts,SendFile);
//      Attachment.ContentDisposition := 'attachment';
//      Attachment.ContentType := 'text/xml';
       Attachment.FileName := SendFile;
     end;

  try
    try
      idSMTP1.Connect;
      idSMTP1.Send(SentMsg) ;
    except on E:Exception do
      ShowMessage('ERROR: ' + E.Message);
    end;
  finally
    if idSMTP1.Connected then idSMTP1.Disconnect;
  end;
end;

Open in new window

1
 
henryreynoldsAuthor Commented:
Hi

I have tried your example but I still get sometimes the same error message.

Please help
0
 
briangochnauerCommented:
I would check the smtp server for errors or maybe your client is decoding the message incorrectly.
Your 'email-body.txt' file reminds me of client side problems I have had.
0
 
henryreynoldsAuthor Commented:
done
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now