Envoyez-MailMessage : Le serveur SMTP nécessite une connexion sécurisée... La réponse du serveur est: 5.5.1 Authentification Requise.
Allez bien donc comme le dit le titre, j'ai cette erreur lorsque vous essayez d'envoyer un email via PowerShell:
Envoyez-MailMessage : Le serveur SMTP nécessite une connexion sécurisée ou le client n'est pas authentifié. La réponse du serveur est: 5.5.1 Authentification Requise.
J'ai regardé de nombreuses questions relatives à la même question. Mais je n'arrive pas à faire mon script fonctionne:
#Email alerts when a user gets locked out
##############################################################################
$pass = Get-Content .\securepass.txt | ConvertTo-SecureString -AsPlainText -Force
$name = "[email protected]"
$cred = New-Object System.Management.Automation.PSCredential($name,$pass)
##############################################################################
$From = "[email protected]"
$To = "[email protected]"
$Subject = "User Locked Out"
$Body = "A user has been locked out of his/her account."
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"
Send-MailMessage -From $From -to $To -Subject $Subject `
-Body $Body -SmtpServer $SMTPServer -port $SMTPPort `
-Credential $cred -UseSsl
##############################################################################
J'ai enregistré dans le compte Gmail à partir de l'ordinateur qui exécute le script. J'ai également activé Accès pour moins d'applications sécurisées de Google gestionnaire de compte. Je ne obtenir que cela fonctionne très bien si je l'invite pour les informations d'identification à l'aide de la -Credential (Get-Credential)
au lieu de l'appeler pour le $cred
variable.
Est-il quelque chose que je suis absent?
Grâce,
Dan
- Si vous avez besoin d'être authentifié par le serveur SMTP, vous devez envoyer SMTP d'identification de l'utilisateur?
- Qu'il fait qu' (
-Credential $cred
). - Je vais certainement aveugle, mon mauvais.
- Si l'authentification de travaux lors de la fourniture du mot de passe via
Get-Credential
, mais pas lors de la lecture du mot de passe à partir d'un fichier, le problème est probablement avec le fichier de mot de passe. Double-vérifier le contenu du fichier (fuite d'espaces, de l'encodage, etc.). - Grâce Ansgar, Tu m'a fait regarder la zone de droite. J'ai pensé à elle. Le fichier de mot de passe contenait le mot de passe déjà chiffré. Je l'ai remplacé par le texte en clair mot de passe non crypté, donc ils sont cryptées lors de la configuration de mon $pass variable.
- Double Possible de Gmail Erreur :Le serveur SMTP nécessite une connexion sécurisée ou le client n'est pas authentifié. La réponse du serveur est: 5.5.1 Authentification Requise
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé ma réponse après avoir regardé mes mots de passe de fichier de contenu, grâce à Angsgar. L'securepass.txt avait au contenu chiffré à l'intérieur, pas en clair. Ce que j'ai fait a été remplacer par le mot de passe qui sera ensuite cryptées lors de la configuration de mon $pass variable. Tout est bon maintenant!
Si le fichier contient le mot de passe crypté, c'est mieux de le lire comme ceci (sans les paramètres
-AsPlainText
et-Force
):Démonstration:
Méfiez-vous cependant que le cryptage des chaînes de caractères sécurisées est liée à l'utilisateur de l'hôte et les chiffrer, ce qui signifie que vous ne pouvez pas déchiffrer une chaîne sécurisée sur un autre hôte ou d'un autre utilisateur.
Ansgar réponse est une bonne réponse générique, mais pour Google, ils ont de multiples serveurs SMTP que vous pouvez utiliser.
smtp.google.com
requiert une authentification, mais pas tous les faire.De Google doc, si votre site est un G Suite site et vous serez toujours l'envoi à partir d'une adresse IP spécifique, vous pouvez spécifier l'adresse dans G Suite de la configuration et ensuite utiliser le G Suite SMTP relais à
smtp-relay.gmail.com
. Cette option est uniquement disponible pour G Suite des utilisateurs, et nécessite une authentification ou une adresse IP statique. Sur notre site, nous avons un serveur SMTP interne que nous utilisons pour ces sortes d'e-mails qui relais de Google G Suite serveur de relais SMTP.Si vous l'envoi d'e-mail uniquement à Google ou G Suite des adresses, vous pouvez spécifier
aspmx.l.google.com
que votre adresse SMTP. Ceci est connu comme la restriction du serveur SMTP de Gmail.