Problème Envoi de mail via outlook Asp.net

Résolu
prasbanu Messages postés 18 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 19 octobre 2006 - 1 août 2006 à 17:50
prasbanu Messages postés 18 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 19 octobre 2006 - 2 août 2006 à 11:26
Bonjour!

Je n'arrive pas envoyer de mail via Microsoft outlook...ça fonctionne parfaitement avec un windows form et ça plante avec un web form....
 j'ai une erreur au niveau de l'application:
---------------------------------------------------------------------------------------------
Accès refusé.

Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.UnauthorizedAccessException: Accès refusé.

ASP.NET n'est pas autorisé à accéder à la ressource demandée. Accordez des droits d'accès à la ressource pour l'identité de la demande ASP.NET. ASP.NET a une identité de processus de base (en règle générale {MACHINE}\ASPNET sur IIS 5 ou Network Service sur IIS 6) qui est utilisée si l'application n'emprunte pas d'identité. Si l'application emprunte une identité via , l'identité sera l'utilisateur anonyme (en règle générale IUSR_MACHINENAME) ou l'utilisateur de la demande authentifié.

Pour accorder un accès en écriture ASP.NET à un fichier, cliquez avec le bouton droit sur le fichier dans l'Explorateur, choisissez "Propriétés" et sélectionnez l'onglet Sécurité. Cliquez sur "Ajouter" pour ajouter l'utilisateur ou le groupe approprié. Sélectionnez le compte ASP.NET et activez les cases à cocher pour l'accès souhaité.

Erreur source:

Ligne 13 :     Public Function startOutlook(ByVal toVal As String, ByVal subjectVal As String, ByVal bodyVal As String) Ligne 14 :         'Return a reference to the MAPI layer Ligne 15 :         Dim ol As New Outlook.Application Ligne 16 :         Dim ns As Outlook.NameSpace Ligne 17 :         Dim fdMail As Outlook.MAPIFolder



Fichier source :
c:\inetpub\wwwroot\crystalreport\OutlookMail.vb    Ligne : 15

-------------------------------------------------------------------------------------------------
Si qq'un pouvait m'aider
Merci d'avance

4 réponses

cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
2 août 2006 à 11:14
Nop comme l'indique l'erreur tu n'as clairement pas le droit de démarrer outlook avec l'user IIS.
Au pire tu peux créer un user qui a ces droits et utiliser l'impersonnation ( source encore visible en page d'accueil ) pour une portion du code

Poppyto
Cours de basse gratuits avec vidéos et ralentis
Cours de guitare gratuits avec vidéos et ralentis/A>
3
cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
2 août 2006 à 10:50
Tu as essayé de faire ce que te demande de faire le message d'erreur ?

Poppyto
Cours de basse gratuits avec vidéos et ralentis
Cours de guitare gratuits avec vidéos et ralentis/A>
0
prasbanu Messages postés 18 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 19 octobre 2006
2 août 2006 à 11:10
oui...ça ne marche toujours pas,ça serait pas au nivo du code?
WebForm.aspx.vb

Imports

System

Imports System.Drawing

Imports System.Collections

Imports System.ComponentModel

Imports System.web

Imports System.Data

Public
Class WebForm15

Inherits System.Web.UI.Page
#

Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.<System.Diagnostics.DebuggerStepThrough()>

Private
Sub InitializeComponent()

End
Sub

Protected
WithEvents txtTo
As System.Web.UI.WebControls.TextBox

Protected
WithEvents txtSubject
As System.Web.UI.WebControls.TextBox

Protected
WithEvents txtBody
As System.Web.UI.WebControls.TextBox

Protected
WithEvents btnSend
As System.Web.UI.WebControls.Button

Protected
WithEvents btnClear
As System.Web.UI.WebControls.Button

'NOTE: The following placeholder declaration is required by the Web Form Designer.

'Do not delete or move it.

Private designerPlaceholderDeclaration
As System.Object

Private
Sub Page_Init(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Init

'CODEGEN: This method call is required by the Web Form Designer

'Do not modify it using the code editor.InitializeComponent()

End
Sub#

End
Region

Private
Sub Page_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

'Put user code to initialize the page here

End
Sub

Private
Sub btnSend_Click(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles btnSend.Click

If txtTo.Text.Length > 0
And txtSubject.Text.Length > 0
And txtBody.Text.Length > 0
Then

Dim oMail
As
New crystalreport.OutlookMail
Console.WriteLine("crystalreport.OutlookMail initialisé")

oMail.startOutlook(txtTo.Text, txtSubject.Text, txtBody.Text)

Console.WriteLine("Email est ajouté à outbox")

End
If

End
Sub
'btnSend_ClickEnd

Class
-------------------------------------------------------------------------------------------------------------------------------------------------

OutlookMail.vb
Imports

System

Imports

Outlook
Public

Class OutlookMail

'Public Function startOutlook(ByVal toVal As String, ByVal subjectVal As String, ByVal bodyVal As String)

'Param - toVal as String: email address of recipient

'Param - subjectVal as String: subject string

'Param - bodyVal as String: Email Text

Public
Function startOutlook(
ByVal toVal
As
String,
ByVal subjectVal
As
String,
ByVal bodyVal
As
String)

Dim ol
As
New Outlook.Application

Dim ns
As Outlook.NameSpace

Dim fdMail
As Outlook.MAPIFolder
ns = ol.GetNamespace("MAPI")

ns.Logon(, ,
True,
True)

Dim newMail
As Outlook.MailItem

fdMail = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox)

newMail = fdMail.Items.Add(Outlook.OlItemType.olMailItem)
newMail.Subject = subjectVal

newMail.Body = bodyVal

newMail.To = toVal

newMail.SaveSentMessageFolder = fdMail

newMail.Send()

EndFunction End

Class
-------------------------------------------------------------------------------------------------------------------------
Merci de m'avoir répondu!
 
0
prasbanu Messages postés 18 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 19 octobre 2006
2 août 2006 à 11:26
je te remercie beaucoup!
Je ne pourrais pas créer des utlisateurs car je n'ai pas les droits qu'il faudrait...Je vais en parler avec l'administrateur de réseau pour résoudre ce problème.
Au départ je n'avais pas compris si ça venait mon code ou de mes droits..


C'est bien clair maintenant que ça vient de mes droits...


Merci beaucoup pour la rapidité de ta réponse...


A bientôt!
0
Rejoignez-nous