上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
mp484
註冊時間: 2006-08-08 文章: 84
第 1 樓
|
發表於: 星期五 六月 08, 2012 12:47 am 文章主題: 在Windows 7 無法使用Jmai發送郵件,是否有人能解決呢? |
|
|
使用XP可以順利的用Jmail發送郵件,但在Win7 64bit 就出現錯誤訊息!
在網路上找了很久,也沒辦法解決,請問是否有人解決過相同的問題呢?謝謝!
錯誤訊息:
OLE IDispatch exception code 0 from jmail.SMTPMail:550
DY-001 (COL0-MC1-F30) Unfortunately, messages from
223.142.122.62 weren't sent. Please contact your Internet service
Provider. You can tell them that Hotmail does not relay
收件人為 abc@hotmail.com
寄件人為 123@gmail.com
是否Jmail 無法在 64bit 的環境下運作呢? |
|
回頂端 |
|
|
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 2 樓
|
發表於: 星期五 六月 08, 2012 10:37 am 文章主題: |
|
|
程式執行身份權限不足? |
|
回頂端 |
|
|
danielkao
註冊時間: 2011-04-21 文章: 31
第 3 樓
|
發表於: 星期五 六月 08, 2012 4:25 pm 文章主題: |
|
|
使用CDO.Configuration即可
loConfig = CREATEOBJECT('CDO.Configuration')
loCdoMessage = CREATEOBJECT("CDO.Message")
loCdoMessage.Configuration = loConfig
loCdoMessage.From = Send_Form
loCdoMessage.To = Send_To
loCdoMessage.HtmlBody = Send_Body
loCdoMessage.Subject = Send_Subject
*loCdoMessage.Addattachment("c:\file.doc")
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtp (例 192.1.1.1)
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
loConfig.Fields.Update
loCdoMessage.Send() |
|
回頂端 |
|
|
mp484
註冊時間: 2006-08-08 文章: 84
第 4 樓
|
發表於: 星期五 六月 08, 2012 7:58 pm 文章主題: |
|
|
已經確定權限開啟,而且降到最低,仍然出現錯誤!
另外,由於原本在XP上已開發Jmail做為郵件收發的工具,而且CDO的傳送不如Jmail方便,所以不考慮使用!
CDO需要搭配IIS的各項設定,在使用上也比較麻煩! |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 5 樓
|
發表於: 星期一 六月 11, 2012 11:52 am 文章主題: |
|
|
建議您把關鍵的程式碼貼出來,
大家在 win7-x64 上試看看會不會有相同問題
jmail 我有使用在 wine 上,也沒問題
我想,那麼難搞的 wine 都能跑 jmail 了,
win7-x64照理說不會有問題才對 |
|
回頂端 |
|
|
danielkao
註冊時間: 2011-04-21 文章: 31
第 6 樓
|
發表於: 星期一 六月 11, 2012 3:00 pm 文章主題: |
|
|
於 WIN7 開啟 OUTLOOK EXPRESS, 將 SMTP 設定好, 即使你不開啟OUTLOOK EXPRESS,
再使用CDO.Configuration 即可正確放信了, 我就是使用這種方式 , 而且沒問題 |
|
回頂端 |
|
|
mp484
註冊時間: 2006-08-08 文章: 84
第 7 樓
|
發表於: 星期四 六月 14, 2012 7:00 pm 文章主題: |
|
|
PUBLIC oSMTPMail
oSMTPMail = NEWOBJECT("jmail.SMTPMail")
***If you aren't sure leave this commented out
***let the object figure it out for you if possible
***oSMTPMail .ServerAddress = "mail.mchsi.com"
oSMTPMail.Priority=3 && 傳送優先等級 共5級
oSMTPMail.Charset="Big5" && 設定Ccharset為Big5
oSMTPMail.AddRecipient (Thisform.Taddress.Value)
*oSMTPMail.AddRecipientCC("") &&副本收件人的信箱
*oSMTPMail.AddRecipientBCC("") &&Recipient 密件副本收件人的信箱
oSMTPMail.Sender =Thisform.Tfrom.Value
oSMTPMail.SenderName = Thisform.Tusername.Value
oSMTPMail.Subject = Thisform.Tsubject.Value
oSMTPMail.Body = Thisform.Tbody.Value
IF FILE(Thisform.Tfile.Value)
oSMTPMail.ContentType = "multipart/mixed"
oSMTPMail.AddAttachMent (Thisform.Tfile.Value)
ENDIF
chk_send=oSMTPMail.Execute()
RELEASE oSMTPMail
IF chk_send
=MESSAGEBOX("郵件發送成功!",64,"錯誤訊息")
ELSE
=MESSAGEBOX("郵件發送失敗!",48,"錯誤訊息")
ENDIF
以上程式在XP測試成功,在WIN7測試失敗,另外WIN7 有 OUTLOOK EXPRESS 嗎?好像沒有吧!
因為想利用Jmail收信及發信,所以先測試發信功能,CDO只能發信,所以沒有用! |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 8 樓
|
發表於: 星期五 六月 15, 2012 8:58 am 文章主題: |
|
|
oSMTPMail.AddRecipient(Thisform.Taddress.Value,Thisform.Taddress.Value,"") &&收件人改用三個參數試看看
oSMTPMail.AddAttachment(Thisform.Tfile.Value,.T.,.F.) &&附檔也改用三個參數試看看 |
|
回頂端 |
|
|
mp484
註冊時間: 2006-08-08 文章: 84
第 9 樓
|
發表於: 星期五 六月 15, 2012 11:16 pm 文章主題: |
|
|
不行,連XP都出錯,出現:
OLE error code 0x800200e:Invalid number of parameters.
代表參數數量錯誤!請測試看看! |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 10 樓
|
發表於: 星期六 六月 16, 2012 6:49 am 文章主題: |
|
|
知道了,那是引用ole不同所致
您用的是oSMTPMail = NEWOBJECT("jmail.SMTPMail")
我用的是oSMTPMail = NEWOBJECT("jmail.message")
試看看我的方法吧
代碼: |
Function SendMailByJmail
Lparameters cSenderFullName,cSenderMailAddress,cReceiverFullName,cReceiverMailAddress,cSubject,cBody,cFileList
jmail= Createobject("jmail.message")
With jmail
.Silent = .T.
.Charset = "utf-8"
.From = cSenderMailAddress
.FromName = cSenderFullName
.ReplyTo = "xxx@gamil.com"
.Subject = cSubject
.AddRecipient(cReceiverMailAddress,cReceiverFullName,"")
.Body = cBody
.MailServerUserName = "xxx@msa.hinet.net"
.MailServerPassWord = "xxxxxxx"
If ! Empty(cFileList)
.AddAttachment(cFileList,.T.,.F.)
Endif
If .Send("msa.hinet.net",.F.) &&郵件主機位�}
Messagebox("郵件已成功傳送至"+Chr(13)+cReceiverMailAddress,64,"傳送成功")
Else
Messagebox(.ErrorCode,16,"傳送失敗")
Endif
.Close
Endwith
Endfunc
|
ckp6250 在 星期一 六月 25, 2012 6:39 pm 作了第 1 次修改 |
|
回頂端 |
|
|
mp484
註冊時間: 2006-08-08 文章: 84
第 11 樓
|
發表於: 星期三 六月 20, 2012 2:59 pm 文章主題: |
|
|
我用 Gmail 無法發送!因為用中華電信的 msa 常會被擋信,不好用,使用Gmail比較不會!
出現錯誤訊息:無法登入郵件伺服器
但使用我原來的方式(7樓),不用呼叫伺服器就可以使用,但在Win7沒有 Outlook Express 所以無法設定
可能是因為這樣在Win7才沒辦法使用!還是需要在其他的地方設定?
在Win7執行郵件收發程式時,會啟動Live Mail,這時候就會出現登入錯誤的訊息!
因為以前我使用程式自動去收發郵件,然後由程式自動辨別可用或垃圾郵件,自動刪除或轉到系統的資料庫中,但
到了Win7 x64版本,已經不支援 32Bit 的 Outlook Express 程式,雖然客戶大多還是使用XP
但現在連 Win8都出來了,不趕快改版不行!
請各位幫我想看是什麼原因好嗎?謝謝! |
|
回頂端 |
|
|
danielkao
註冊時間: 2011-04-21 文章: 31
第 12 樓
|
發表於: 星期五 六月 22, 2012 2:30 pm 文章主題: |
|
|
WIN 7之 OUTLOOK EXPRESS 要自已去設定 才可 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 13 樓
|
|
回頂端 |
|
|
mp484
註冊時間: 2006-08-08 文章: 84
第 14 樓
|
發表於: 星期一 七月 16, 2012 10:50 am 文章主題: |
|
|
danielkao 寫到: | WIN 7之 OUTLOOK EXPRESS 要自已去設定 才可 |
請問要如何設定呢? |
|
回頂端 |
|
|
danielkao
註冊時間: 2011-04-21 文章: 31
第 15 樓
|
發表於: 星期一 八月 27, 2012 4:50 pm 文章主題: |
|
|
1.進入控制台
2.選使用者帳戶
3.執行郵件(32位元)
4.設定外部smtp
即可由vfp 發送mail |
|
回頂端 |
|
|
|