Ok allora quell'errore viene restituito quando o non è stata registrata la dll CDONTS sul server oppure non hai i permessi per inviare email.
Che sistema operativo stai usando?
Ok allora quell'errore viene restituito quando o non è stata registrata la dll CDONTS sul server oppure non hai i permessi per inviare email.
Che sistema operativo stai usando?
Ok allora non conosco questa parte :
'Codice per il controllo del server
'ServerIsOk è una variabile bool che devi
'creare e gestire e che indica lo stato del server
'Codice per il controllo del server ' vorrei fare una cosa base base cioè un select from tabella in cui è contenuto lo status del server
in pratica "select status from tabella che ancora non ho capito quale essere where status = 'ok'
se non rispetta la condizione allora fai partire il dts con tutta la pappardella
dafi quando rispondi clicca su RISPONDI e non su NUOVO altrimenti crei una nuova discussione ogni volta e mi tocca unirle![]()
uso xp e misto collegando ad un server di test con win 2000 sp4
Si ok ma l'sqlserver dove gira su xp o su win2k?Originariamente inviato da dafi
uso xp e misto collegando ad un server di test con win 2000 sp4
Su win2k.
Scusa , hai ragione ma non sono pratico di forum.![]()
Forse ho trovato un modo :
eseguendo questa SP riesco a mandare una mail anche se non ho un client di posta installato sul server?
CREATE PROCEDURE sp_sendmail(
@indirizzo VARCHAR(255),
@messaggio VARCHAR(8000),
@soggetto VARCHAR(255),
@da VARCHAR(255) = 'mio@indirizzo.it') AS
DECLARE @CDO INT, @OLEResult INT, @Out INT
--Crea l'oggetto CDONTS.NewMail
EXECUTE @OLEResult = sp_OACreate 'CDONTS.NewMail', @CDO OUT
IF @OLEResult <> 0 PRINT 'CDONTS.NewMail'
--Chiama il metodo send dell'oggetto
EXECUTE @OLEResult = sp_OAMethod @CDO, 'Send', NULL, @da, @indirizzo, @soggetto, @messaggio, 0
IF @OLEResult <> 0 PRINT 'Send'
--Distruggi l'oggetto CDO
EXECUTE @OLEResult = sp_OADestroy @CDO
RETURN @OLEResult
GO
Si certo ma alla fine è la stessa cosa che ti ho proposto io.
Richiami sempre l'oggetto CDONTS che su win2000 è pre-installato. Devi solo verificare i permessi sulla cartella C:\Inetpub\mailroot. Dai i permessi giusti all'utente con cui viaggia SqlServer (lo verifichi dalle proprietà del server.. solitamente viaggia come LocalSystem o Administrator).
Per essere sicuri che sia un errore di permessi puoi dare, solo per breve tempo però, permessi in lettura/scrittura al gruppo Everyone.
Ok siamo al punto di prima:
- client xp
- Win2k server
Mi collego dalla mia postazione al server tramite enterprise manager
eseguo la sp e mi dà il mess "send" (quindi tutto ok) ma ahimè l'email non arriva(ho provato su varie caselle di posta quindi non è un problema della casella).
Una cosa non ho toccato i permessi su mail root ma dove? sul mio o sul server? magari è una domanda stupida ma vorrei capire.
Cerchiamo di capirci: l'oggetto CDONTS che richiami è una dll che risiede sul server, nel tuo caso, win2000. Questa dll si collega al server SMTP locale della macchina. Quindi ti devi assicurare che il servizio SMTP stia girando sulla macchina server altrimenti le email non arriveranno mai.
Lo trovi sotto Servizi nel pannello di controllo alla voce Strumenti di amministrazione. Cerca il servizio SMTP e guarda se è attivo. Per la sua configurazione devi andare sull'IIS.
Potrebbe anche adirittura non essere installato tale servizio. In questo caso armati di cd di installazione e aggiungilo.