Question send-mailmessage ne fonctionne pas tojours

Plus d'informations
il y a 15 ans 4 mois #7984 par fabrice
Bonjour à tous
Voici mon pb
pour envoyer un mail, j'utilise send-mailmessage

voici le code

$userTo = \"Fabrice <fabrice.nom@xxxx.fr>\"
$userfrom = \"Fabrice <fabrice.nom@xxxx.fr>\"
$Sujet = \"sujet\"
$body = \"mon texte\"
$smtpserver = \"smtp.xxxx.fr\"

send-mailmessage -from $userfrom -to $userTo -subject $Sujet -body $body -smtpServer $smtpserver

$error > error.txt


si je copie ce code dans la console powershell tout est Ok
si je l'execute à partir de la console powershell_ise.exe pas de pb

dble click sur le fichier .ps1 le mail n'arrive jamais
click droit sur le fichier puis executer avec powershell le mail n'arrive jamais

qque soit le cas $error est toujour vide

j'ai cherché du coté des credentials mais rien n'y fait

qqun a-t-il une idée?

merci
Fabrice<br><br>Message édité par: fabrice, à: 3/11/10 14:23

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #7988 par Jacques Barathon
A première vue je soupçonnerais un problème d'authentification sur le serveur SMTP, sans trop comprendre pourquoi ça marche quand tu le fais en mode interactif dans une console PS ou dans ISE.

Sais-tu quel est le mode d'authentification sur le serveur SMTP en question ? Il n'y aurait rien dans ton profil PS qui ferait une première connexion à ce serveur, ce qui pourrait expliquer pourquoi ça marche dans une session et pas quand tu lances le script ?

Tu pourrais déjà essayer de lancer le script depuis une session, une première fois en l'appelant de manière classique :

PS&gt; .\monscript.ps1

Si ça marche, ça confirmerait mon hypothèse.

Sinon, tu peux sans doute voir l'erreur en utilisant $error[0] plutôt que $error. En effet, $error est un tableau qui contient toutes les erreurs enregistrées par la session, alors que $error[0] désigne toujours la dernière erreur qui s'est produite.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #7994 par fabrice
bonjour

Non je ne connais pas le mode d'authentification sur le serveur smtp

$error[0] est vide lui aussi

en lancant le script depuis la console ca marche bien
pour autant je n'ai pas modifié le profile

par contre j'ai contourné le pb ainsi :

si je rajoute un start-sleep -s 1 en fin de code, qque soit la façon dont je lance le script le mail arrive systématiquement même à partir d'un bat (ce qui est le but final)
en fait j'ai cru remarqué qu'en mode console le script est plus lent à s'exécuter que quand on le lance par double click

ce n'est pas trés élégant mais je ne vois pas quelles conditions il est possible de faire pour s'assurer que le mail a bien été envoyé.

merci pour ton aide.
Fabrice

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #8009 par Jacques Barathon
De rien. Tant mieux si le start-sleep permet de résoudre ton problème. Je ne suis pas sûr de comprendre exactement pourquoi il est nécessaire, mais je suppose que lorsque le script se termine, PowerShell n'attend pas que le mail envoyé par send-mailmessage soit réellement parti.

Bon week-end.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.040 secondes
Propulsé par Kunena