Avatar billede mickni33 Nybegynder
17. september 2007 - 11:56 Der er 2 kommentarer og
1 løsning

vedhæft fil til mail

jeg kan sende en mail via HttpWebRequest det virker fint, men jeg vil også gerne kunne vedhæfte en fil til min mail hvordan gør jeg det har forsøgt mig med dette herunder... Men når jeg så åbner filen indeholder den bare BODY....
Mangler at vedhæfte selve filen, er der nogle der kan hjælpe med det?


string strServer = "192.168.125.4";
        string strSenderAlias = "min";
        string strFrom = "min@email.dk";
        string strTo = "min@andenEmail.dk";
        string strSubject = "Send via HttpWebRequest";
        string strBody = "Hello World";

        string sUri;
        sUri = "http://" + strServer + "/Exchange/" + strSenderAlias;
        sUri = sUri + "/%23%23DavMailSubmissionURI%23%23/";

        System.Uri myUri = new System.Uri(sUri);
        HttpWebRequest HttpWRequest = (HttpWebRequest)WebRequest.Create(myUri);

        string sQuery;
        DateTime mySentTime = new DateTime();
        sQuery = "From: " + strFrom + "\n" +
          "To: " + strTo + "\n" +
          "Subject: " + strSubject + "\n" +
          "Content-Disposition: attachment;" + "\n" +
          " filename = setupxlg.txt" + "\n" +
          "Date: " + DateTime.Now.ToString() + "\n" +
          "X-Mailer: My DAV mailer" + "\n" +
          "MIME-Version: 1.0" + "\n" +
          "Content-Type: text/plain;" + "\n" +         
          "Charset = \"iso-8859-1\"" + "\n" +
          "Content-Transfer-Encoding: 7bit" + "\n" + "\n" +
          strBody;


NetworkCredential myCred = new NetworkCredential(@"sonwin\min", "min005");
        CredentialCache myCredentialCache = new CredentialCache();
        myCredentialCache.Add(myUri, "Basic", myCred);
        HttpWRequest.Credentials = myCredentialCache;

        // Set the headers.
        HttpWRequest.Headers.Set("Translate", "f");
        HttpWRequest.ContentType = "message/rfc822";
        HttpWRequest.ContentLength = sQuery.Length;

        //Set the request timeout to 5 minutes.
        HttpWRequest.Timeout = 300000;
        // Set the request method.
        HttpWRequest.Method = "PUT";



        // Store the data in a byte array.
        byte[] ByteQuery = System.Text.Encoding.ASCII.GetBytes(sQuery);
        HttpWRequest.ContentLength = ByteQuery.Length;
        Stream QueryStream = HttpWRequest.GetRequestStream();
        // write the data to be posted to the Request Stream
        QueryStream.Write(ByteQuery, 0, ByteQuery.Length);
        QueryStream.Close();


        // Send the request and get the response.
        HttpWebResponse HttpWResponse = (HttpWebResponse)HttpWRequest.GetResponse();

        // Get the Status code.
        int iStatCode = (int)HttpWResponse.StatusCode;
        string sStatus = iStatCode.ToString();
        Console.WriteLine("Status Code: {0}", sStatus);
        // Get the request headers.
        string sReqHeaders = HttpWRequest.Headers.ToString();
        Console.WriteLine(sReqHeaders);
Avatar billede nielle Nybegynder
17. september 2007 - 12:09 #1
Hvorfor bruge HttpRequest til at sende en mail med?

Der eksistere ganske udemærkede klasser skræddersyet til formålet:

System.Net.Mail.MailMessage
System.Net.Mail.SmtpClient

MailMessage håndtere selve mailen, og det er også den som håndtere attachments.
Avatar billede mickni33 Nybegynder
17. september 2007 - 12:22 #2
jeg kan ikke bruge SMTP på port 25 da der er lukket på min exchangeserver...
Så benytter http da det kun er internt i huset der skal sendes til exchangeserveren
Avatar billede mickni33 Nybegynder
17. september 2007 - 19:47 #3
da jeg åbenbart "vedhæfter" min body tekst... lader jeg bare body teksten indeholde den vedhæftet fil, ved at indlæse den fil der skulle vedhæftes
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester