Development/Tinderbox/Setup

    From The Document Foundation Wiki

    Setting up a tinderbox

    Have a look at tb script description for general info on how to setup a tinderbox.

    Sending mails from cygwin / Windows

    As it turns out, it is not completely straightforward to setup cygwin to be able to send mail via SSL. You need Net::SSLeay and IO::Socket::SSL perl modules that are not available with cygwin, and also ssl certificates. The following worked for me to get it running.

    • Install gcc4 in cygwin (so that you can use CPAN to install Net::SSLeay)
      If you don't do this, cpan Net::SSLeay will complain that it has Unresolvable missing external dependency. This package requires a C compiler.
      • Start Cygwin's setup.exe
      • In the selection of packages, uncheck the 'Hide obsolete packages' option at the bottom
      • Search for 'gcc4' in the top left Search field
      • Select 'gcc4', and install it
      • Create symlinks for gcc4
        cd /usr/bin ; ln -s gcc.exe gcc-4 ; ln -s g++.exe g++-4
    • Install Net::SSLeay and IO::Socket::SSL
      If you don't do this, and you specify -o tls=yes to sendEmail, it will issue ERROR => No TLS support! SendEmail can't load required libraries. (try installing Net::SSLeay and IO::Socket::SSL)
      • cpan Net::SSLeay ; cpan IO::Socket::SSL
    • Install the SSL certificates
      If you don't do this, sendEmail will end up with ERROR => TLS setup failed: SSL connect attempt failed with unknown error error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
      • cd /usr/ssl/certs
      • wget -O - http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
      • perl.exe /usr/bin/c_rehash
    • Make sure you have the newest sendEmail
      If you don't do this, sendEmail will end up with invalid SSL_version specified at /usr/lib/perl5/site_perl/5.14/IO/Socket/SSL.pm line 418

    Now you should be able to send mail from cygwin. To try it, do:

    ./sendEmail -f <from>@gmail.com -t <to>@gmail.com -u Test -m Works -o tls=yes -s smtp.gmail.com:587 -xu <from>@gmail.com -xp <password>

    sendEmail should end up with Email was sent successfully!, and <to>@gmail.com should get a message with subject Test, and mail body Works.