最近發現公司的事務機或經由PowerShell要傳送到GMail郵箱的郵件都收不到,SMTP是中華電信的SMTP伺服器,公司的網路是走中華電信的。事務機或PowerShell也都沒有可能收到退信的訊息。不知道是中華電信跟Google之間是不是有什麼問題啊?
以下是我的PowerShell的code(跟公司有關的訊息用xxx代替了):
$EmailTo = "xxx@gmail.com"
$EmailFrom = "xxx-xxx@outlook.com"
$EmailSub = "AAA"
$EmailBody = "AAA"
$EmailSMTP = "168.95.4.150"
Send-MailMessage -To $EmailTo -From $EmailFrom -Subject $EmailSub -Body $EmailBody -SmtpServer $EmailSMTP
補充:
$EmailFrom中的xxx-xxx@outlook.com是虛擬的郵件地址。這會是問題嗎?
$EmailTo = "xxx@gmail.com"
$EmailFrom = "xxx-xxx@outlook.com"
我印象中 Hinet 有公告
不代轉非 msx的信件
至少要驗證一下 SMTP
可以電話問
客服專線: 0800-080-412
有相關的公告可以提供網址嗎?
提到的“驗證一下 SMTP”是指在設定時要提供用戶名和密碼嗎?
我把$EmailFrom = "xxx-xxx@outlook.com"改為$EmailFrom = "xxx-xxx@msx.hinet.net"之後就OK了
1.你沒有驗證hinet帳號,當然不能用smtp寄信
2.若你有驗證smtp,那寄件者應該是也不能用outlook.com,必須用msx.hinet.net寄送
否則可能會被gmail SPAM判定偽造寄件者地址吧!? 或者是hinet smtp不允許發送。
3.沒有退信,可能是因為hinet smtp驗證不通過,根本沒有發送出去,那自然不會收到gmail退信,或是一直驗證不過,被smtp主機封ip了
4.或者是你這個寄件者的outlook.com是隨便寫的,只是為了隱藏公司的email位址?
情況跟你或許不一樣,但還是供你參考
我公司一些系統透過我們的relay伺服器轉寄給gmail電子郵件信箱
都會收不到信
經過交叉測試後發現,用relay寄給gmail信箱,
應該是GMail Server會檢查寄件者的合法性
假如寄件者帳號是不存在的,GMail直接就拒絕,根本就不處理,Access Deny,連垃圾郵件都不是
寄件者改填存在的帳號,GMail就可以過了