Avatar billede strikerdk Novice
16. august 2007 - 23:56 Der er 5 kommentarer og
1 løsning

Udredning af Mailform-kode C#

Hej eksperter.

Jeg er ret ny i C#, og har det meste af dagen forsøgt at læse mig frem til hvordan jeg får en simpel mailform fra et website til at sende en mail - UDEN held :s

Det mest simple jeg har kunnet finde er nedenstående kode, som jeg gerne vil tilrette mit eget site. Problemet er bare, at jeg ikke helt forstår / kan se, hvor i C# koden der skal tilrettes.

Er der nogen der kan lave en grundigere udredning for mig, end programmørens kommentarer?

------------------------------------------------------------------
**Mailformen ser således ud - fungerer fint**
------------------------------------------------------------------

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="mailform.aspx.cs" Inherits="mailform" Title="Untitled Page" %>


<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table><tr><td align="left">
   
    Your name: <asp:TextBox ID="txtName" runat="server"></asp:TextBox><br /><br />
    Your E-mail: <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox><br /><br />
    Message: <asp:TextBox ID="txtMessage" runat="server"></asp:TextBox><br />
    <br />
    <br />
    <asp:Button ID="Button1" runat="server" Text="Send" OnClick="btnSendmail_Click" />
    <asp:Button ID="Button2" runat="server" Text="Reset" />
    <asp:Label ID="lblStatus" runat="server" Text="Label"></asp:Label>
       
</td></tr></table>
</asp:Content>
------------------------------------------------------------------
C# koden ser således ud. Kommer med fejlmeddelsen: Kan ikke sende til alle mailadresser!?
------------------------------------------------------------------

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;


public partial class mailform : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void btnSendmail_Click(object sender, EventArgs e)
    {
        // System.Web.Mail.SmtpMail.SmtpServer is obsolete in 2.0
        // System.Net.Mail.SmtpClient is the alternate class for this in 2.0
        SmtpClient smtpClient = new SmtpClient();
        MailMessage message = new MailMessage();

        try
        {
            MailAddress fromAddress = new MailAddress(txtEmail.Text, txtName.Text);

            // You can specify the host name or ipaddress of your server
            // Default in IIS will be localhost
            smtpClient.Host = "localhost";

            //Default port will be 25
            smtpClient.Port = 25;

            //From address will be given as a MailAddress Object
            message.From = fromAddress;

            // To address collection of MailAddress
            message.To.Add("admin1@yoursite.com");
            message.Subject = "Feedback";

            // CC and BCC optional
            // MailAddressCollection class is used to send the email to various users
            // You can specify Address as new MailAddress("admin1@yoursite.com")
            message.CC.Add("admin1@yoursite.com");
            message.CC.Add("admin2@yoursite.com");

            // You can specify Address directly as string
            message.Bcc.Add(new MailAddress("admin3@yoursite.com"));
            message.Bcc.Add(new MailAddress("admin4@yoursite.com"));

            //Body can be Html or text format
            //Specify true if it  is html message
            message.IsBodyHtml = false;

            // Message body content
            message.Body = txtMessage.Text;

            // Send SMTP mail
            smtpClient.Send(message);

            lblStatus.Text = "Email successfully sent.";
        }
        catch (Exception ex)
        {
            lblStatus.Text = "Send Email Failed." + ex.Message;
        }
    }
}
Avatar billede strikerdk Novice
16. august 2007 - 23:58 #1
Det skal lige siges, at mailformen skal fremsende en mail til en bestemt mailadresse når den udfyldes. Og det er nok mest det stykke her forståelsen kniber med :-s

-----------------------------------------------------
SmtpClient smtpClient = new SmtpClient();
        MailMessage message = new MailMessage();

        try
        {
            MailAddress fromAddress = new MailAddress(txtEmail.Text, txtName.Text);

            // You can specify the host name or ipaddress of your server
            // Default in IIS will be localhost
            smtpClient.Host = "localhost";

            //Default port will be 25
            smtpClient.Port = 25;

            //From address will be given as a MailAddress Object
            message.From = fromAddress;

            // To address collection of MailAddress
            message.To.Add("admin1@yoursite.com");
            message.Subject = "Feedback";
----------------------------------------------------------
Avatar billede arne_v Ekspert
17. august 2007 - 00:53 #2
Det er da ellers kommenteret allerede.

Men fejlen antyder at mindst en email-adresse er invalid.
Avatar billede strikerdk Novice
17. august 2007 - 01:03 #3
Har fjernet flg:

            // CC and BCC optional
            // MailAddressCollection class is used to send the email to various users
            // You can specify Address as new MailAddress("admin1@yoursite.com")
            message.CC.Add("admin1@yoursite.com");
            message.CC.Add("admin2@yoursite.com");

            // You can specify Address directly as string
            message.Bcc.Add(new MailAddress("admin3@yoursite.com"));
            message.Bcc.Add(new MailAddress("admin4@yoursite.com"));

Og indtastet en specifik adresse i: **message.To.Add("admin1@yoursite.com");**

            // To address collection of MailAddress
            message.To.Add("admin1@yoursite.com");
            message.Subject = "Feedback";

Fejlen er nu:

Send Email Failed.Postkassen er ikke tilgængelig. Serversvaret var: 5.7.1 Unable to relay for xxxxxx@xxxx.dk
Avatar billede strikerdk Novice
17. august 2007 - 01:14 #4
Mmm - Ja well problemet er løst!

Jeg skulle nok lade være med at køre scriptet lokalt med localhost :-P

smtpClient.Host = "localhost"; (ændrede til egen udbyders smtp.)

JEG HAR ASP.NET FOR DUMMIES ALLEREDE. :-p

Smid et svar arlet - dit hint gav mig noget af vejen til løsningen.

På forhånd tak
Avatar billede strikerdk Novice
17. august 2007 - 01:15 #5
Sry - Arne :)
Avatar billede arne_v Ekspert
17. august 2007 - 01:35 #6
ok
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