عبدالقيوم نشر 11 يونيو 2022 أرسل تقرير نشر 11 يونيو 2022 السلام عليكم ورحمة الله عندي ملف powershell باسم sndemail.ps1 محتواه كتالي function sendMail ($message) { $emailSmtpServer = "smtp-mail.outlook.com" $emailSmtpServerPort = "587" $emailSmtpUser = "myemail@outlook.sa" $emailSmtpPass = "Aaq321r" $attachment = "c:\123.pdf" $emailMessage = New-Object System.Net.Mail.MailMessage $emailMessage.Attachments.Add($attachment) $emailMessage = New-Object System.Net.Mail.MailMessage $emailMessage.From = "myemail@outlook.sa" $emailMessage.To.Add("tttttt@gmail.com") $emailMessage.Subject = "My subject" $emailMessage.IsBodyHtml = $true $emailMessage.Body = "Hi brother" $SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer ,$emailSmtpServerPort ) $SMTPClient.EnableSsl = $true $SMTPClient.Credentials = New-Object System.Net.NetworkCredential( $emailSmtpUser , $emailSmtpPass ); $SMTPClient.Send( $emailMessage ) }; Sendmail("Alert Triggered") وطريقة تنفيذه من خلال cmd كتالي : powershell.exe -ExecutionPolicy Bypass -Command "c:\sndemail.ps1" سؤالي كيف ارسل باراميتر امرر فيه البريد الذي اريد ان ارسل له بدل ان اثبت البريد في الكود اقصد السطر التالي من الكود كيف اجعله من خلال pass parameters to powershell $emailMessage.To.Add("tttttt@gmail.com") مع الشكر 1 اقتباس
0 عمر قره محمد نشر 11 يونيو 2022 أرسل تقرير نشر 11 يونيو 2022 يمكنك فعل ذلك من خلال الكود التالي وليكن اسم الملف example.ps1 $firstName=$args[0] $lastName=$args[1] write-host "my name is $firstName $lastName" نستدعيه بالشكل : .\example.ps1 omar km هذا سيطبع النص : my name is omar km 1 اقتباس
0 عبداللطيف ابومروان نشر 11 يونيو 2022 أرسل تقرير نشر 11 يونيو 2022 اشكرك للرد لكن لم تتضح لك الطريقة هل يمكن شرح تنفيذ الطريقة على كود الايميل الخاص بي اقتباس
0 عمر قره محمد نشر 11 يونيو 2022 أرسل تقرير نشر 11 يونيو 2022 بتاريخ 23 دقائق مضت قال عبداللطيف ابومروان: اشكرك للرد لكن لم تتضح لك الطريقة هل يمكن شرح تنفيذ الطريقة على كود الايميل الخاص بي بالنسبة للملف الخاص بك عليك تعديل ال $emailMessage.To.Add // استبدل السطر التالي $emailMessage.To.Add("tttttt@gmail.com") // بالسطر التالي $emailMessage.To.Add($args[0]) وسطر الاستدعاء الخاص بك يجب ان يصبح بالشكل powershell.exe -ExecutionPolicy Bypass -Command "c:\sndemail.ps1" tttttt@gmail.com حيث تضيف الإيميل في نهاية السطر بعد الـ path. 1 اقتباس
0 عبداللطيف ابومروان نشر 11 يونيو 2022 أرسل تقرير نشر 11 يونيو 2022 نفذت ماقلته لكن للأسف تظهر رسالة الخطأ اقتباس
السؤال
عبدالقيوم
السلام عليكم ورحمة الله
عندي ملف powershell باسم sndemail.ps1
محتواه كتالي
function sendMail ($message) { $emailSmtpServer = "smtp-mail.outlook.com" $emailSmtpServerPort = "587" $emailSmtpUser = "myemail@outlook.sa" $emailSmtpPass = "Aaq321r" $attachment = "c:\123.pdf" $emailMessage = New-Object System.Net.Mail.MailMessage $emailMessage.Attachments.Add($attachment) $emailMessage = New-Object System.Net.Mail.MailMessage $emailMessage.From = "myemail@outlook.sa" $emailMessage.To.Add("tttttt@gmail.com") $emailMessage.Subject = "My subject" $emailMessage.IsBodyHtml = $true $emailMessage.Body = "Hi brother" $SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer ,$emailSmtpServerPort ) $SMTPClient.EnableSsl = $true $SMTPClient.Credentials = New-Object System.Net.NetworkCredential( $emailSmtpUser , $emailSmtpPass ); $SMTPClient.Send( $emailMessage ) }; Sendmail("Alert Triggered")
وطريقة تنفيذه من خلال cmd كتالي :
powershell.exe -ExecutionPolicy Bypass -Command "c:\sndemail.ps1"
سؤالي كيف ارسل باراميتر امرر فيه البريد الذي اريد ان ارسل له بدل ان اثبت البريد في الكود
اقصد السطر التالي من الكود كيف اجعله من خلال pass parameters to powershell
$emailMessage.To.Add("tttttt@gmail.com")
مع الشكر
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.