Re: ASP.NET Site Sending E-mail and Writing to Event Log



Thanks Jeff for your suggestions. Since this is an intranet app., it is a
requirement that we use Integrated Windows Authentication (can't use Basic
auth).

We're still having troubles, and this issue is quickly becoming high
priority.

Anyone have any suggestions/ideas?



"rekaeps" <nospam@xxxxxxxxxxx> wrote in message
news:eYn5%23e5bGHA.1960@xxxxxxxxxxxxxxxxxxxxxxx
We are developing an ASP.NET 2.0 (C#) application, and I'm having troubles
sending e-mail from the server when accessing the web site from a separate
client computer. Also, in the same scenario, I'm having trouble writing
to
the server's event log.

Here's some details:

Server and workstation both in the same workgroup
Logged into server as local Administrator
Logged into workstation as a local user that is only in the Users group on
the workstation
The local user on the workstation is also defined as a local user on the
server with same name and password (and only in the Users group on the
server too)
Server is Windows Server 2003 running IIS 6.0
Workstation is Windows XP Professional
ASP.NET 2.0 (C#) web site - intranet only, not a public Internet web site


Web.config snippet
<system.web>
<authentication mode="Windows"/>
<identity impersonate="true"/>
</system.web>



For the e-mailing problem
.aspx code-behind code snippet
string fromEmail = "donotreply@xxxxxxxxxxxxxxxxxxxx";
string fromDisplayName = "Testing SendEmail";
string toEmail = "person@xxxxxxxxxxx";
string pathAndFile = @"D:\Temp\testing.log";
string exceptionInfo = "Testing SendEmail";

System.Net.Mail.SmtpClient smtpclient = new
System.Net.Mail.SmtpClient();
smtpclient.DeliveryMethod =
System.Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis;

// For smtpclient.Host, I've tried "localhost", I've tried
System.Net.Dns.GetHostName(),
// and I've tried not setting the property at all
// none of these work
smtpclient.Host = System.Net.Dns.GetHostName();

// For smtpclient.PickupDirectoryLocation, I've tried not setting
it
and I've tried
// explicitly setting the path to the IIS pickup folder
// neither of these work
smtpclient.PickupDirectoryLocation =
@"C:\Inetpub\mailroot\Pickup";

// For smtpclient.Port, I've tried not setting it and I've tried
explicitly setting it to 25
// neither of these work
smtpclient.Port = 25;

// For smtpclient.UseDefaultCredentials, I've tried not setting it
and I've tried
// setting it to true
// neither of these work
smtpclient.UseDefaultCredentials = true;

System.Net.Mail.MailAddress from = new
System.Net.Mail.MailAddress(fromEmail, fromDisplayName);
System.Net.Mail.MailAddress to = new
System.Net.Mail.MailAddress(toEmail);
System.Net.Mail.Attachment attachment = new
System.Net.Mail.Attachment(pathAndFile);

using (System.Net.Mail.MailMessage message = new
System.Net.Mail.MailMessage(from, to))
{
message.Attachments.Add(attachment);
message.Body = exceptionInfo;
message.Priority = System.Net.Mail.MailPriority.High;
message.Subject = "Testing SendEmail";

// Exception is throw here trying to call the Send method
smtpclient.Send(message);
}

attachment.Dispose();


The exception details are: System.Net.Mail.SmtpException: Cannot get IIS
pickup directory.

From the client computer, I can navigate to the site and do whatever
without
any problems. But, when the site tries to send an e-mail from the server
for the session started by the client in the scenario described above, it
fails.



For the writing to the event log problem
.aspx code-behind code snippet
string exceptionInfo = "Testing WriteToEventLog";
System.Diagnostics.EventLog log = new
System.Diagnostics.EventLog();
log.Log = "Application";
log.Source = "Application";

try
{
log.WriteEntry(exceptionInfo,
System.Diagnostics.EventLogEntryType.Error);
}
finally
{
log.Close();
log.Dispose();
}


The exception details are: System.ComponentModel.Win32Exception: Access is
denied (Cannot open log for source 'Application'. You may not have write
access.)

Again, from the client computer, I can navigate to the site and do
whatever
without any problems. But, when the site tries to write to the event log
on
the server for the session started by the client in the scenario described
above, it fails.



Basically, this is supposed to be an exception notification thing.

Am I doing something wrong? Am I missing something? How can I make the
above scenario work?



Thanks.





.



Relevant Pages

  • Re: ASP.NET Site Sending E-mail and Writing to Event Log
    ... working (it was throwing the exception). ... Logged into server as local Administrator ... Logged into workstation as a local user that is only in the Users group ... The local user on the workstation is also defined as a local user on the ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: ASP.NET Site Sending E-mail and Writing to Event Log
    ... working (it was throwing the exception). ... Logged into server as local Administrator ... Logged into workstation as a local user that is only in the Users group ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: ASP.NET Site Sending E-mail and Writing to Event Log
    ... Server and workstation both in the same workgroup ... Logged into workstation as a local user that is only in the Users group ... The local user on the workstation is also defined as a local user on the ... The exception details are: System.Net.Mail.SmtpException: Cannot get IIS ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: ASP.NET Site Sending E-mail and Writing to Event Log
    ... Server and workstation both in the same workgroup ... Logged into workstation as a local user that is only in the Users group on ... Server is Windows Server 2003 running IIS 6.0 ... The exception details are: System.Net.Mail.SmtpException: Cannot get IIS ...
    (microsoft.public.dotnet.framework.aspnet)
  • SQL server does not exist or access denied
    ... Our Asp.Net application can pull data from that workstation, however when it tries to connect to the Production database in the same domain it gets the following error... ... Information regarding the origin and location of the exception can be identified using the exception stack trace below. ... We have tried running the osql and isql utilities from the Web Server, but they will not connect at all to the workstation or the production server. ...
    (microsoft.public.sqlserver.connect)