Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Semplice mail, accesso negato.

    Ciao, ho questa semplice paginetta:

    <%@ page language="VB" debug="true"%>
    <%@ Import Namespace="System.Web.Mail"%>
    <%
    Dim myMessage as New MailMessage
    myMessage.to = "mail1@mail1.com"
    myMessage.from = "mail2@mail2.com"
    myMessage.subject = "Subject"
    myMessage.bodyformat = mailformat.text
    myMessage.body = "Body"
    smtpmail.send(myMessage)
    %>

    Ma, quando tento di inviarla mi dà un errore di "Accesso negato", ve lo riporto in parte:

    Dettagli eccezione: System.UnauthorizedAccessException: Accesso negato.

    Il processo ASP.NET non è autorizzato ad accedere alla risorsa richiesta. Per motivi di protezione, l'identità predefinita del processo ASP.NET è "{nomecomputer}\ASPNET" e dispone di privilegi limitati. Si consiglia di concedere all'identità del processo ASP.NET i diritti di accesso alla risorsa.

    Per concedere l'accesso in scrittura ASP.NET a un file, fare clic su di esso con il pulsante destro del mouse in Esplora risorse, scegliere Proprietà e fare clic sulla scheda Protezione. Fare clic su Aggiungi per aggiungere l'utente "{nomecomputer}\ASPNET". Evidenziare l'account ASP.NET e selezionare la casella Scrittura nella colonna Consenti.

    Errore nel codice sorgente:


    Riga 12:
    Riga 13: myMessage.body = "Corpo"
    Riga 14: smtpmail.send(myMessage) <---------- riga errore
    Riga 15:
    Riga 16: %>



    Inutile dire che ho provato a dare i permessi di scrittura all'utente ASP_NET al file in questione ma non cambia nulla.

    Devo forse dare permessi da altre parti?

    Grazie in anticipo

    fabriZio

  2. #2
    I permessi prova a darli all'utente IUSR_NomeComputer, ed in particolare spunta la voce MODIFICA.

  3. #3
    Uhm..ho provato ma non va

    Ho fatto delle ricerche su web...e sembra un errore conosciuto...

    csosys.dll è la libreria che dà noia..e a cui sembra non abbia l'accesso.

    Ho provato a ri-registrarla(come suggerito da alcuni articoli) ma nulla.

    Ho controllato la conf del servizio smtp, ma nulla.

    Ho assegnato anche alla nuova paginetta che ti posto:
    -----------------------------------------------------------

    <%@ Page Language="VB" %>
    <%@ import Namespace="System.Web.Mail" %>
    <script runat="server">

    Sub Button1_Click(sender As Object, e As EventArgs)

    Try
    Dim mail As New MailMessage
    mail.From = txtFrom.Value
    mail.To = txtTo.Value
    mail.Subject = txtSubject.Value
    mail.Body = txtBody.Value
    SmtpMail.SmtpServer = "localhost"
    SmtpMail.Send(mail)

    ' nascondo la form
    form1.visible = false

    lblAvviso.InnerHtml = "E-mail inviata con successo!"


    Catch exc As Exception
    lblAvviso.InnerHtml = "Errore nell'invio del messaggio:
    " & exc.ToString
    End Try

    End Sub

    </script>
    <html>
    <head>
    </head>
    <body>



    <span id="lblAvviso" runat="server">



    <span id="form1" runat="server">



    Compila questo modulo per inviare un'e-mail.
    </p>
    <form runat="server">
    A:
    <input id="txtTo" type="text" runat="server" />


    Da:
    <input id="txtFrom" type="text" runat="server" />


    Subject:
    <input id="txtsubject" type="text" runat="server" />


    Messaggio: <textarea id="txtBody" runat="server"></textarea>


    <input id="Button1" type="button" value="Invia" runat="server" onserverclick="Button1_Click" />
    </form>
    </span>
    </p>



    </p>



    </p>
    </span>
    </p>



    </p>



    </p>
    </body>
    </html>

    -----------------------------------------------------------

    Il try catch per vedere l'errore e mi restituisce questo:

    Errore nell'invio del messaggio:
    System.Web.HttpException: Impossibile accedere all'oggetto 'CDO.Message'. ---> System.Reflection.TargetInvocationException: Eccezione generata dalla destinazione di una chiamata. ---> System.Runtime.InteropServices.COMException (0x8004020F): The server rejected one or more recipient addresses. The server response was: 550 5.7.1 Unable to relay for joker197cinque@yahoo.it --- Fine dell'analisi dello stack dell'eccezione interna --- at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters) at System.Web.Mail.LateBoundAccessHelper.CallMethod(O bject obj, String methodName, Object[] args) --- Fine dell'analisi dello stack dell'eccezione interna --- at System.Web.Mail.LateBoundAccessHelper.CallMethod(O bject obj, String methodName, Object[] args) at System.Web.Mail.CdoSysHelper.Send(MailMessage message) at System.Web.Mail.SmtpMail.Send(MailMessage message) at ASP.mail_aspx.Button1_Click(Object sender, EventArgs e)



    Mi devo reinstallare il framework?

    :master:

  4. #4

  5. #5
    Utente di HTML.it L'avatar di Nazareno
    Registrato dal
    Mar 2001
    residenza
    Udine
    Messaggi
    176

    Lo provi in locale?

    Ti dico solo una cosa: non riuscirai a spedire mail in locale, ovvero con la tua workstation. Ho provato e riprovato non so quante volte. Lo stesso codice, identico, sui nostri server funziona, ma sulle workstation no, nonostante abbia attivato il servizio SMTP server, ecc... ecc...

  6. #6
    Lo provo su un server con IP fisso.

  7. #7
    Utente di HTML.it L'avatar di Nazareno
    Registrato dal
    Mar 2001
    residenza
    Udine
    Messaggi
    176
    Hai provato a spedire messaggi utilizzando ASP classico, anzichè ASP.NET ? Non indicare "localhost" nel nome del server Smtp. Prova l'indirizzo IP o il nome DNS (es. server1).

  8. #8
    Hai provato a spedire messaggi utilizzando ASP classico, anzichè ASP.NET ? Non indicare "localhost" nel nome del server Smtp. Prova l'indirizzo IP o il nome DNS (es. server1).

    Hai provato a spedire messaggi utilizzando ASP classico, anzichè ASP.NET ?
    Si e i messaggi si fermano in c:\inetpub\mailroot\pickup

    Anche da ASP non funzionano.

    Sarà qualche problema della rete interna, del firewall....

    Ho chiesto come porte aperte la 21/25/53

    Ma non ho risolto nulla.

  9. #9
    Allora ragazzi, ho risolto.

    Posto la mia esperienza sperando di far risparimare del tempo ai ragazzi del Forum in caso incappassero nello stesso errore.

    Tutto è iniziato con un errore cercando di inviare una mail da asp.net usando system.web.mail

    Mi resituiva in particolare l'errore "Impossibile accedere all'oggetto CDO.Message"

    Mi preme sottolineare che il problema NON E' di permessi su quell'oggetto, ma del mancato funzionamento del servizio SMTP dell'IIS.

    Contestualmente a questo errore non dovrebbero partire nemmeno le email in asp standard.

    Io le ho provate davvero tutte....ma l'intervento risolutivo è stato:

    1- Disinstallare IIS

    2- Reinstallare IIS

    3- Assegnare i permessi per "Everyone" in "Scrittura" nelle cartelle c:\inetpub\mailroot\pickup e c:\inetpub\mailroot\queue


    QUESTO ha risolto il problema.

    Spero di risparmiare a qualcuno ore e ore di mal di testa.

    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.