Send email in Asp.Net 2.0

  • Thread starter Thread starter shapper
  • Start date Start date
S

shapper

Hello,

I am trying to send an email using Asp.Net 2.0.

I am getting the following error:

System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The
server response was: No such user here at
System.Net.Mail.SmtpTransport.SendMail(MailAddress sender,
MailAddressCollection recipients, String deliveryNotify,
SmtpFailedRecipientException& exception) at
System.Net.Mail.SmtpClient.Send(MailMessage message)

The strange thing is that the email box really exists.

My code is as follows:

1 ' Define user profile
2 Dim userProfile As ProfileCommon =
Profile.GetProfile(tbUsernameRecover.Text)
3
4 ' Define user name
5 Dim name As String = userProfile.Personal.Name
6
7 ' Define user email address
8 Dim email As String = user.Email
9
10 ' Reset user password
11 Dim newPassword As String = user.ResetPassword()
12
13 ' Create new mail message
14 Dim message As New System.Net.Mail.MailMessage
15
16 ' Define mail message properties
17 With message
18
19 ' Define mail message properties
20 .Body = Resources.Email.PasswordReset_Body & newPassword
21 .From = New
System.Net.Mail.MailAddress(ConfigurationManager.AppSettings("Email.NoReply.Address"),
ConfigurationManager.AppSettings("Email.NoReply.Name"))
22 .IsBodyHtml = False
23 .Subject = Resources.Email.PasswordReset_Subject
24 .To.Add(New System.Net.Mail.MailAddress(email, name))
25
26 End With
27
28 ' Create and define the SMTP client
29 Dim smtpClient As New System.Net.Mail.SmtpClient
30
31 ' Get mailSettings section from web.config
32 Dim mailSettings As
System.Net.Configuration.MailSettingsSectionGroup =
ConfigurationManager.GetSection("system.net/mailSettings")
33
34 ' Define smtp client properties
35 If Not mailSettings Is Nothing Then
36 With smtpClient
37 .Port = mailSettings.Smtp.Network.Port
38 .Host = mailSettings.Smtp.Network.Host
39 .Credentials = New
System.Net.NetworkCredential(mailSettings.Smtp.Network.UserName,
mailSettings.Smtp.Network.Password)
40 End With
41 End If
42
43 ' Send the mail message
44 Try
45
46 ' Send the mail message
47 smtpClient.Send(message)
48
49 Catch ex As Exception
50
51 Response.Write(ex.ToString)
52
53 End Try

And in my web.config file I have:

<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network defaultCredentials="true"
host="mail.mydomain.com" password="pass" port="25"
userName="(e-mail address removed)"/>
</smtp>
</mailSettings>
</system.net>

This email account exists and it is working!

Could someone tell me what am I doing wrong here?

Thanks,

Miguel
 
I am getting the following error:

System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The
server response was: No such user here at
System.Net.Mail.SmtpTransport.SendMail(MailAddress sender,
MailAddressCollection recipients, String deliveryNotify,
SmtpFailedRecipientException& exception) at
System.Net.Mail.SmtpClient.Send(MailMessage message)

http://www.aspnix.com/forums/thread/9158.aspx
 
I have been trying to solve this and it seems that mailSettings in line
32 is an empty object so lines 36 to 40 are not running.

Any idea?

Thanks,

Miguel
 
Hi,

As far as I understood that article I am not doing anything wrong:

1. The from email address and the SMTP email address defined on the
web.config both exist.
2. In my web.config SMTP configuration I have the username and password
so SMTP authentication is possible.

What could be wrong then?

Thanks,
Miguel
 
There is a thing called "authentication mode" for email sending (smtp).

None
Basic
SSL

It looks like you're using userName and password.

<system.net>

<mailSettings>
<smtp from="(e-mail address removed)">
<network host="smtp-server.rr.com" password=""
userName="(e-mail address removed)" />
</smtp>
</mailSettings>

</system.net>



I don't know what the <tag> is for using SSL, maybe research that. Or maybe
remove userName and password attributes to kick in "None". (I'm
guessing/experimenting here, I don't know which combo's affect the
authentication mode).



I actually have a better solution at:



2/8/2006
Smarter Email/Smtp setup with DotNet Configuration Sections (1.1 and 2.0)
http://sholliday.spaces.live.com/blog/
 
I changed defaultCredentials="true" to defaultCredentials="false" and
now it is working fine.

Thanks,
Miguel
 
Ok...

My guess would be that ... setting that to false.... reverts it back to NONE
authentication mode.
 
Back
Top