2013-03-27 3 views
0

cmdlet send-mailmessage에 이상이 생겼습니다. powershell에서 direclty를 사용할 때 완벽하게 작동하지만 메일에서 다른 변수를 편집하기 위해 스크립트에서 사용하려는 경우 메일이 올바르게 전송되지 않습니다. 스크립트에서 send-mailmessage가 작동하지 않습니다.

$userInfo = $fornamn+" "+$efternamn+" "+$usernm+" "+$pass 
$from = "[email protected]"+$ADinfo.dnsroot 
$to = $fornamn+"."+$efternamn+"@cuebid.se" 
$smtpserver = "cb-dc02.cuebid.local" 
$subject = "sys-konto" 
Send-MailMessage $to $subject $userInfo $smtpserver -from $from 

$ fornamn

, $의 efternamn와 $ 패스 이전 스크립트에서 생성 된 변수는 모든 유형의 문자열은 다음과 같습니다 나는이 코드 조각이있다.

내가 그나마 스크립트가 메일을받을 수 있지만, 교환 로그에 내가 직접 PowerShell에서 내가 변수를 생성하고 실행 보내-은 MailMessage을 때 완벽한 어떤 아이디어 왜 작동하는 메일 을받은 것을 볼 수 있습니다 사용하는 경우?

+0

정보 $ ADInfo는 무엇이며 어떻게 정의합니까/검색하면 무엇을 말하기 어렵습니다. 또한 -noexit 매개 변수를 사용하여 스크립트를 실행하고 오류가 없는지, 오류가 없는지 확인하십시오. – BartekB

+0

스크립트를 실행할 때 오류가 없습니다. $ ADInfo = Get-ADDomain을 실행하여 $ ADinfo.dnsroot를 얻지 만 $ from 변수는 문자열이므로 $ adinfo.dnsroot는 도메인을 검색하고 mailaddress를 만드는 문자열입니다. – user2215780

답변

0

여기에는이 동작이 없습니다.

$userInfo = "$fornamn $efternamn $usernm $pass" 
$from = "[email protected]"+$ADinfo.dnsroot 
$to = "$fornamn`[email protected]" 
$smtpserver = "cb-dc02.cuebid.local" 
$subject = "sys-konto" 
Send-MailMessage $to $subject $userInfo $smtpserver -from $from 

당신에게 결국하지 않은 메일이 스팸으로 표시되는 것을 확실 : 따옴표로 변수 치환이 (점 앞에 역 따옴표를 마음) 발생하기 때문에 또한, 당신은 더 우아 문자열 변수를 결합 할 수 있습니다? 논리적으로 보이지 않는다는 것을 알고 있습니다. 왜냐하면 명령 행에서 실행될 때 작동한다고하기 때문입니다. 여전히, 이중 점검할만한 가치가 있습니다.

내가 생각할 수있는 유일한 다른 점은 .ps1 파일에서 변수에 정확한 값 (어딘가에 너무 많은 공간이 포함되어 있지 않음)이 포함되어 있다는 것입니다.

+0

당신이 옳았다는 것은 정크 메일에있었습니다. 먼저 거기를 보지 못한 것에 대해 나쁨 입력에 감사드립니다. – user2215780

+0

많은 의미를 갖지는 않지만 그것을 발견하게되어 기쁩니다. 이것을 응답으로 표시 할 수 있습니까? 다른 사람들은 이것에 시간을 할애하지 않습니까? – Joost

관련 문제