[ASP.NET/Exchange] E-mail verzenden zonder SmtpMail

Pagina: 1
Acties:

  • Elect
  • Registratie: Mei 2000
  • Niet online
Hoi,

Ben momenteel bezig aan een ASP.NET pagina geschreven in C#. Deze moet een e-mail verzenden via een Exchange server, zonder dat relaying toegestaan is. ASP.NET moet dus inloggen op de Exchange server, wil deze daar gebruik van maken. Er is alleen verbazend weinig over te vinden.

Nu is het geen probleem om componenten te installeren, alleen ik moet dus een manier zien te vinden. Gezien de complexe 'administratieve molen' hier, is het niet mogelijk te vragen of ik toegang heb etc.

De code momenteel;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        public void SendEmail()
        {
            //Begin new e-mail message
            MailMessage Email = new MailMessage(); 

            //Set the values
            Email.From  = "< testadres >";
            Email.To        = "< testadres >";
            Email.Subject   = "Test message";
            Email.Body  = "BodyMessage";

            //Send message
            SmtpMail.SmtpServer = "< servernaam >";
            SmtpMail.Send(Email);
        }
Maar krijg dus gelijk een foutmelding op m'n dak.
The server rejected the sender address. The server response was: 454 5.7.3 Client was not authenticated.
Nu heb ik het wel zover gekregen dat ik in SQL server gebruik kan maken van Exchange, maar hoopte dat dit in ASP.NET ook mogelijk was.

HelmChat.eu - Free Motorcycle Group Chats


  • wboevink
  • Registratie: September 2004
  • Laatst online: 09-02 17:21

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

De vraag is of MAPI handig is, omdat je een e-mail client dan op de server moet hebben, afaik.

日本!🎌


  • Elect
  • Registratie: Mei 2000
  • Niet online
Ik lees net dat MAPI niet is ondersteund door ASP.NET (http://support.microsoft....aspx?scid=kb;en-us;813349)
CDO 1.2x and MAPI are not supported in a .NET Framework environment
De enige optie dan nog staat een stukje verder:
If the .NET application assemblies reside directly on the Exchange server, Microsoft recommends building the application by using CDOEX and ExOLEDB. If the .NET application assemblies do not reside directly on the Exchange Server, Microsoft recommends using WebDAV.
Hoewel de IIS server niet op de Exchange bak staat maak ik liever geen gebruik van WebDAV. Weinig informatie te vinden over dit, vreemd? Weinig bedrijven die hier gebruik van maken?

HelmChat.eu - Free Motorcycle Group Chats


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Hier staat hoe je jezelf bij een SMTP server kan authenticeren zonder 3rd party componenten. Misschien dat je daar iets mee kunt:
http://www.codeproject.co...temWeb_Mail_SMTP_AUTH.asp

  • Elect
  • Registratie: Mei 2000
  • Niet online
Thnx, Bigbeng. Heb het gevonden en na wat aanpassingen is het bruikbaar in asp.net en C#.
Hier de volledige code om mensen met hetzelfde probleem op weg te helpen :)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
            //Begin new e-mail message
            MailMessage Email = new MailMessage(); 

            //Set the values
            Email.From      = "< E-mail address >"; 
            Email.To        = Receipts;
            Email.Subject   = Subject;
            Email.Body  = Message;

            // Authentication used to identify us at the Exchange server!
            // If the server is allowed the send without validation, this can be left out.
            Email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",1); 
            Email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","< gebruikersnaam >"); 
            Email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","< wachtwoord >"); 

            //Send message to the Exchange server
            SmtpMail.SmtpServer = "< Exchange server name >";
            SmtpMail.Send(Email);

HelmChat.eu - Free Motorcycle Group Chats

Pagina: 1