#带有PowerShell示例的编辑版本
如何在C中从PowerShell中执行几行代码?我更喜欢使用from中的system()命令。下面是一个通过Gmail发送电子邮件的脚本示例,该脚本在PowerShell中本身可以正常工作,但在C程序中使用时则无法正常工作。
这是脚本:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
system("powershell.exe -w hidden -c"
"$email = 'SENDER_EMAIL'"
"$pass = 'SENDER_PASSWORD'"
"$to = 'RECEIVER_EMAIL'"
"$smtpServer = 'smtp.gmail.com'"
"$msg = new-object Net.Mail.MailMessage"
"$smtp = new-object Net.Mail.SmtpClient($smtpServer)"
"$smtp.EnableSsl = $true"
"$msg.From = '$email'"
"$msg.To.Add('$to')"
"$msg.BodyEncoding = [system.Text.Encoding]::Unicode"
"$msg.SubjectEncoding = [system.Text.Encoding]::Unicode"
"$msg.IsBodyHTML = $true"
"$msg.Subject = 'SUBJECT'"
"$msg.Body = 'BODY_TEXT'"
"$SMTP.Credentials = New-Object System.Net.NetworkCredential('$email', '$pass');"
"$smtp.Send($msg)");
return 0;
}