اذهب إلى المحتوى
  • 0

ارسال بريد عبر powershell

عبدالقيوم

السؤال

السلام عليكم ورحمة الله 

عندي ملف 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")

مع الشكر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكنك فعل ذلك من خلال الكود التالي وليكن اسم الملف example.ps1

$firstName=$args[0]
$lastName=$args[1]
write-host "my name is $firstName $lastName" 

نستدعيه بالشكل :

.\example.ps1 omar km 

هذا سيطبع النص : 

my name is omar km

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 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.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...