[英]Zodiac mail sending in Pharo smalltalk
我試圖用CentOS機器中的黃道帶與gmail smtp發送郵件。 我收到以下錯誤。
"SSL/TLS plugin initialization failed. VM missing plugin? "
我已下載並將“so.SqueakSSL”與其他.so文件一起放在虛擬機目錄中並使用“chmod 777 so.SqueakSSL”。 但仍然顯示錯誤。我錯過了什么? 工作區代碼是:
Gofer it
squeaksource: 'Zodiac';
package: 'Zodiac-Core';
package: 'Zodiac-Tests';
package: 'Zodiac-Extra';
load.
"Load extra Zinc support for Zodiac"
Gofer it
squeaksource: 'ZincHTTPComponents';
package: 'Zinc-Zodiac';
load.
| mailMessage |
mailMessage := MailMessage empty.
mailMessage setField: 'subject' toString: 'ZdcSecureSMTPClient Test'.
mailMessage body: (MIMEDocument
contentType: 'text/plain'
content: 'This is test from Pharo Smalltalk').
ZdcSecureSMTPClient
sendUsingGMailAccount: 'varunisacc@gmail.com'
password: 'mypassword'
to: 'varunisacc@gmail.com'
message: mailMessage.
缺少SSL插件,因為它沒有包含在早期的Pharos中。 但是,如果您下載Pharo 1.4 Summer Release或更高版本的一鍵,它應該開箱即用,因為插件位於正確的位置,正確設置並適用於所有三個平台(Linux,OS / X和Windows)。
幾天前,我在ScientificLinux中遇到了類似的問題,這與CentOS非常相似。 問題是這些庫需要libssl.so.0.9.8和libcrypto.so.0.9.8,但是以libssl.so.0.9.8e和libcrypto.so.0.9.8e的形式存在。
# ldd /opt/smalltalk/pharovm14A/libSqueakSSL.so
linux-gate.so.1 => (0x00bfb000)
libssl.so.0.9.8 => not found
libcrypto.so.0.9.8 => not found
libc.so.6 => /lib/libc.so.6 (0x006ce000)
/lib/ld-linux.so.2 (0x0055a000)
# ls /usr/lib/libssl.so.0.9.8* /usr/lib/libcrypto.so.0.9.8*
/usr/lib/libcrypto.so.0.9.8e /usr/lib/libssl.so.0.9.8e
解決方案是創建兩個符號鏈接:
# ln -s /usr/lib/libssl.so.0.9.8e /usr/lib/libssl.so.0.9.8
# ln -s /usr/lib/libcrypto.so.0.9.8e /usr/lib/libcrypto.so.0.9.8
# ldd /opt/smalltalk/pharovm14A/libSqueakSSL.so
/opt/smalltalk/pharovm14A/libSqueakSSL.so: /usr/lib/libcrypto.so.0.9.8: no version information available (required by /opt/smalltalk/pharovm14A/libSqueakSSL.so)
/opt/smalltalk/pharovm14A/libSqueakSSL.so: /usr/lib/libssl.so.0.9.8: no version information available (required by /opt/smalltalk/pharovm14A/libSqueakSSL.so)
linux-gate.so.1 => (0x0062d000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x008a8000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00110000)
libc.so.6 => /lib/libc.so.6 (0x00a3f000)
libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x0025f000)
libkrb5.so.3 => /lib/libkrb5.so.3 (0x0029e000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00eee000)
libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x00374000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00e41000)
libdl.so.2 => /lib/libdl.so.2 (0x00e0c000)
libz.so.1 => /lib/libz.so.1 (0x00477000)
/lib/ld-linux.so.2 (0x007f9000)
libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x003a0000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x003ab000)
libpthread.so.0 => /lib/libpthread.so.0 (0x005fd000)
libselinux.so.1 => /lib/libselinux.so.1 (0x009b4000)
如果您使用的是Linux,則可以從VM目錄中的so.SqueakSSL文件到名為SqueakSSL的文件進行符號鏈接。
例如
ln -s so.SqueakSSL SqueakSSL
VM會找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.