---
title: "Attachment via SMTP funkar på localhost men inte på server"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/191384-attachment-via-smtp-funkar-på-localhost-men-inte-på-server"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "iSeeYou"
published: "2013-05-24T13:00:42.000Z"
updated: "2013-06-04T09:51:03.000Z"
replies: 8
views: 4022
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/191384-attachment-via-smtp-funkar-på-localhost-men-inte-på-server"
---

# Attachment via SMTP funkar på localhost men inte på server

## #1 — iSeeYou, 2013-05-24T13:00Z

Jag har en funktion i ASP.NET (C#) som skickar ett mail mha SMTP som valfritt kan innehålla en bifogad fil. Lokalt på min PC så fungerar det bra att skicka med attachment, men kör jag på servern så kommer mailet fram som det ska dock utan den bifogade filen, inget felmeddelande dyker upp. SMTP-servern kör mot port 25 (samma SMTP-server och port då min lokala maskin och servern ligger under samma nät). Servern är en Windows 2008R2.

Jag tror egentligen att det inte är koden som är felaktig eftersom det fungerar bra lokalt på min maskin (Win7/IIS) utan att det är något på servern som måste ändras men jag bifogar lite kod nedan ifall det är så att jag tror fel. :)

```
String strMail = lblReceiver.Text;
                String strName = txtName.Text;
                String strSubject = txtSubject.Text;
                String StoreNumber = txtStoreNumber.Text;

                String strMessage = "Mitt mailinnehåll"

                var fromAddress = new MailAddress("avsändarens@mail.se");
                var toAddress = new MailAddress(strMail, strMail);
                const string fromMailaddress = "minmailadress";
                const string fromPassword = "mittpassword";
                string subject = strSubject;
                string body = strMessage;

                var smtp = new SmtpClient
                {
                    Host = "minMailLeverantör",
                    Port = 25,
                    EnableSsl = false,
                    DeliveryMethod = SmtpDeliveryMethod.Network,
                    UseDefaultCredentials = false,
                    Credentials = new NetworkCredential(fromMailaddress, fromPassword)
                };
                using (var message = new MailMessage(fromAddress, toAddress)
                {
                    Subject = subject,
                    Body = body,
                    IsBodyHtml = true
                })
                {
                    try
                    {
                        txtFileNamePath.Text = fileAttachmentName.PostedFile.FileName;
                        if (txtFileNamePath.Text != null && File.Exists(txtFileNamePath.Text))
                        {
                            FileStream fs = new FileStream(txtFileNamePath.Text, FileMode.Open, FileAccess.Read);
                            Attachment a = new Attachment(fs, fileAttachmentName.FileName, MediaTypeNames.Application.Octet);
                            message.Attachments.Add(a);
                        }
                        smtp.Send(message);
                        message.Dispose();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        Console.ReadLine();
                    }
                }
```

Min slutliga fråga är mer kortfattat: Vad kan orsaken vara att det fungerar att skicka med bilagor från lokal PC (Localhost) men inte då man kör den från en server? Maskinerna ligger på samma nät, har samma brandvägg etc etc Skulle bli överlycklig om någon hade liknande erfarenhet men med ett bra svar på en lösning. :)

Permalänk: https://www.webforum.nu/p/191384

## #2 — Quid, 2013-05-24T19:03Z

Det borde ju finnas något i loggboken för IIS/Mailservern där man kan följa vad som händer med mailet.

Permalänk: https://www.webforum.nu/p/2312683

## #3 — iSeeYou, 2013-05-27T07:30Z

Kollade igenom loggen men det kommer inte upp något felmeddelande eller varning om att något gått fel. Känns väldigt märkligt! Det är väl ingen speciell komponent eller roll som behöver installeras på servern för att kunna skicka med bilagor?

Permalänk: https://www.webforum.nu/p/2312715

## #4 — clarkbones, 2013-05-27T20:15Z

Kör du programmet från commandoprompten på servern?

Permalänk: https://www.webforum.nu/p/2312719

## #5 — iSeeYou, 2013-05-28T07:16Z

Clarkbones: Ledsen men jag hänger inte med i vad du menar? Vilket program skulle jag köra i kommandoprompten menar du? Det är en webbapplikation som är utvecklad i ASP.NET (C#) och den kör jag via webbrowsern. :) Loggen kollar jag via eventvwr på windowsservern.

Permalänk: https://www.webforum.nu/p/2312721

## #6 — clarkbones, 2013-05-28T14:56Z

Ok, missade "ASP.NET". Vad händer om du tar bort felhanteringen? Nu skriver du ju ut grejer med consol.WriteLine på servern. Skriver du samma sak till event-loggen? Annars kommer ju eventuellt felmeddelande försvinna ut i tomma intet.

Permalänk: https://www.webforum.nu/p/2312724

## #7 — iSeeYou, 2013-05-29T07:45Z

Det kommer inget fel till eventloggen heller tyvärr. En fundering som jag har är om det är så att filerna som man ska skicka med som attachment först måste laddas upp till servern och sedan plockas in därifrån som attachment. Om det kan vara så att om jag refererar till filnamnet c:\\temp\\filnamn.txt och den inte ligger på servern så plockar applikationen helt enkeklt inte in den? Kan det vara så enkelt? Ska testa detta!

Permalänk: https://www.webforum.nu/p/2312730

## #8 — clarkbones, 2013-05-29T11:57Z

Så enkelt är det nog...Servern har ju ingen åtkomst till ditt lokala filsystem

Permalänk: https://www.webforum.nu/p/2312732

## #9 — iSeeYou, 2013-06-04T09:51Z

Jag löste problemet på följande sätt:
1\. Formuläret med all kontaktinfo samt sökvägen till filen fylls i
2\. Filen laddas upp till lokal mapp på servern (webshare/skrivbehörighet till mappen krävs för att kunna skriva till mappen)
3\. All formulärdata processas och filen som laddats upp till servern läggs in som attachment.

Tack för feedback, det hjälpte till i tankeverkstaden som jag gick igenom. ;)

Permalänk: https://www.webforum.nu/p/2312785

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/191384-attachment-via-smtp-funkar-på-localhost-men-inte-på-server
