SSL证书从命令行工作正常,但脚本失败

我正在尝试为我的持续集成服务器设置电子邮件通知。 我有一个脚本,使用钉子发送电子邮件,当build设工程:

#!/bin/bash echo "Build Worked!" | nail -A myisp -s 'Build Success' [email protected] 

当我使用sh build-worked从命令行运行它时,它可以sh build-worked ,并且收到电子邮件。 但是,当我启动执行相同脚本的持续集成服务器时,出现以下错误:

 nail: /opt/bitnami/common/lib/libssl.so.0.9.8: no version information available (required by nail) nail: /opt/bitnami/common/lib/libcrypto.so.0.9.8: no version information available (required by nail) Error with certificate at depth: 0 issuer = /C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Premium Server CA/[email protected] subject = /C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com err 20: unable to get local issuer certificate Continue (y/n)? could not initiate SSL/TLS connection: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed . . . message not sent. 

我必须搞乱一些configuration,有什么想法?

从shell运行某些东西,但不会从croninitdaemon或其他环境中出现的问题通常是由于环境的差异造成的。

  • 使用绝对path来执行文件和数据文件
  • 显式设置你的PATHvariables,以确保它包含你所需要的
  • 显式设置您的进程需要的其他环境variables

由于看起来像nail在抱怨一些图书馆,所以环境variables很可能在一个环境中指向一个方向,在另一个环境中指向另一个环境variables(或根本不指向)。

我不熟悉BitNami,但在我的系统上,这些库位于/lib/usr/lib (和/lib/i586等)中。