Avatar billede galadrijela Nybegynder
09. december 2004 - 09:47 Der er 17 kommentarer og
3 løsninger

e-mail med attachments

Jeg har følgerne kode til at sende en e-mail med attachments, og den virker helt fint. Men jeg vil gerne undgå at kunden skrive hver gang adressen (To/From)… og hvis jeg slette formen To og From og prøver skrive den i selv koden, for eksampel:

MyMail.From = ”sender@mail.com”;

MyMail.To = ”modtager@mail.com”;

Den virker ikke….
Hvor er fejlen???

Koden er:
-------------------------------------

<script language="C#" runat="server">
            public void SendMail(Object Source,EventArgs E )
            {
                String StrFileName = "";
                MailMessage MyMail = new MailMessage();
                MyMail.From = txtFrom.Text;
                MyMail.To = txtTo.Text;
                MyMail.Subject = txtSubject.Text;
                MyMail.Body = txtContent.Text;
               
                StrFileName = Request.Files["fileAttachment"].FileName;
                if(StrFileName != "") //IF A FILE IS ATTACHED
                {
                    //EXTRACTING FILE NAME FROM FULL PATH
                    StrFileName = StrFileName.Substring(StrFileName.LastIndexOf("\\")+1);
                    //SAVING THE FILE TEMPORARILY
                    Request.Files["fileAttachment"].SaveAs(Server.MapPath(StrFileName));
                    //ATTACHING THE FILE TO THE MAIL
                    MailAttachment MyAttachment =new MailAttachment(Server.MapPath(StrFileName));
                    MyMail.Attachments.Add(MyAttachment);
                }
               
                SmtpMail.Send(MyMail);
                //DELETING THE SAVED FILE
                if(StrFileName != "")
                                File.Delete(Server.MapPath(StrFileName));
                Response.Write("Mail sucessfully sent to " + txtFrom.Text);
                Response.Write(" <a href='SendingMailsWithAttachments.aspx'>click here</a> to send more mails.");
            }
        </script>
        <%if(Page.IsPostBack == false)
            {
        %>
        <form runat="server" enctype="multipart/form-data" ID="Form1">
            <table align="center" cellspacing="2" cellpadding="2">
                <tr>
                    <td>
                        From address
                    </td>
                    <td>
                        <asp:TextBox ID="txtFrom" Runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        To address
                    </td>
                    <td>
                        <asp:TextBox ID="txtTo" Runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Subject
                    </td>
                    <td>
                        <asp:TextBox ID="txtSubject" Runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Content
                    </td>
                    <td>
                        <asp:TextBox ID="txtContent" Runat="server" TextMode="MultiLine" Rows="5"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Attachment
                    </td>
                    <td>
                        <input type="file" runat="server" id="fileAttachment" NAME="fileAttachment" />
                    </td>
                </tr>
                <tr>
                    <td colspan="2" align="center">
                        <asp:Button ID="cmdSend" Text="Send" Runat="server" OnClick="SendMail" />
                        <input type="reset" />
                    </td>
                </tr>
            </table>
        </form>
        <%
            }
        %>
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 09:49 #1
Prøv at fjerne din if(Page.IsPostBack == false), den hører ikke hjemme der.
Avatar billede galadrijela Nybegynder
09. december 2004 - 09:55 #2
Nej....... det hjælper ikke, får den samme fejl
Server Error in '/' Application. :(
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 10:04 #3
Åbn din Web.config og ændr følgende linje:

<customErrors mode="RemoteOnly" />
til
<customErrors mode="Off" />

Så får du en mere sigende fejlmeddelelse.
Avatar billede galadrijela Nybegynder
09. december 2004 - 10:31 #4
Den viser kun dette........



[No relevant source lines]
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 10:33 #5
Det lyder underligt.

Jeg er bange for jeg ikke rigtig kan hjælpe dig, hvis jeg ikke ved mere end det :-(
Avatar billede ksr Nybegynder
09. december 2004 - 11:50 #6
Her er et bud som virker hos mig men som er i VB

        Attach= Server.MapPath("\Request\Test.txt")
       

Public Sub SendMail(ByVal Til As String, ByVal Fra As String, ByVal subjecTekst As String, ByVal MailBodyTekst As String, ByVal Attach As String)

        Dim Message As System.Web.Mail.MailMessage = New System.Web.Mail.MailMessage
        Message.From = Fra
        Message.To = Til
        Message.Subject = subjecTekst
        Message.Body = MailBodyTekst
        '*** Attach to mail
        If Not Attach = "" Then
            Dim myAttachment As New MailAttachment(Attach)
            Message.Attachments.Add(myAttachment)
        End If

        'Run på lokal server
        'SmtpMail.SmtpServer = "????" 'din lokal server
        'Run på WWW
        SmtpMail.SmtpServer = "smtp.mail.dk" ' TDC
        SmtpMail.Send(Message)
Avatar billede galadrijela Nybegynder
09. december 2004 - 12:21 #7
Den viser følgende fejl:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EE)
Tegnet ')' var ventet
/Kunde/sendmail.asp, line 14, column 30
Public Sub SendMail(ByVal Til As String, ByVal Fra As String, ByVal subjecTekst As String, ByVal MailBodyTekst As String, ByVal Attach As String)
-----------------------------^
:(((
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:22 #8
Omdøb filen til aspx ... det er .NET du forsøger at lave, ikke?
Avatar billede ksr Nybegynder
09. december 2004 - 12:26 #9
Her du husket en END SUB ???
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:28 #10
Der er et eller andet du ikke fortæller.

Hvorfor skulle den få fat i en fil der hedder sendmail.asp?
Avatar billede galadrijela Nybegynder
09. december 2004 - 12:30 #11
jeg har lavet fejl første gang, har skrivet kode i asp, nu har jeg ændret det og den virker helt fint :)))
Hvordan deler jeg poìnt?
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:32 #12
svar
Avatar billede ksr Nybegynder
09. december 2004 - 12:32 #13
Kan du ikke dele dem mellem os
Avatar billede galadrijela Nybegynder
09. december 2004 - 12:36 #14
Det kan jeg godt......tak for hjælp :)
Avatar billede galadrijela Nybegynder
09. december 2004 - 12:43 #15
Det er første gang for mig, fik I point?
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:44 #16
Nej. Tryk "Accepter"
Avatar billede galadrijela Nybegynder
09. december 2004 - 12:45 #17
Prøv igen........sorry ...
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:46 #18
Du kan stadig nå det ... vi behøver ikke gøre noget.
Avatar billede nielsbrinch Nybegynder
09. december 2004 - 12:46 #19
Nåh ja, du skal vist lige markere navnene på dem du vil acceptere fra, fordi vi er 2 der har svaret.
Avatar billede galadrijela Nybegynder
09. december 2004 - 12:47 #20
Håber den vil vikre nu........følger mig så dummmmm
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