Solved

Delphi / Indy. Problem with sending email with attachments

Posted on 2010-09-08
4
1,456 Views
Last Modified: 2012-06-21
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
0
Comment
Question by:henryreynolds
  • 2
  • 2
4 Comments
 
LVL 5

Accepted Solution

by:
briangochnauer earned 500 total points
ID: 33627532
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

0
 

Author Comment

by:henryreynolds
ID: 33644204
Hi

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

Please help
0
 
LVL 5

Expert Comment

by:briangochnauer
ID: 33645621
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
 

Author Closing Comment

by:henryreynolds
ID: 33768640
done
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now