1*b1cdbd2cSJim Jagielski#!/bin/sh 2*b1cdbd2cSJim Jagielski# ************************************************************* 3*b1cdbd2cSJim Jagielski# 4*b1cdbd2cSJim Jagielski# Licensed to the Apache Software Foundation (ASF) under one 5*b1cdbd2cSJim Jagielski# or more contributor license agreements. See the NOTICE file 6*b1cdbd2cSJim Jagielski# distributed with this work for additional information 7*b1cdbd2cSJim Jagielski# regarding copyright ownership. The ASF licenses this file 8*b1cdbd2cSJim Jagielski# to you under the Apache License, Version 2.0 (the 9*b1cdbd2cSJim Jagielski# "License"); you may not use this file except in compliance 10*b1cdbd2cSJim Jagielski# with the License. You may obtain a copy of the License at 11*b1cdbd2cSJim Jagielski# 12*b1cdbd2cSJim Jagielski# http://www.apache.org/licenses/LICENSE-2.0 13*b1cdbd2cSJim Jagielski# 14*b1cdbd2cSJim Jagielski# Unless required by applicable law or agreed to in writing, 15*b1cdbd2cSJim Jagielski# software distributed under the License is distributed on an 16*b1cdbd2cSJim Jagielski# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17*b1cdbd2cSJim Jagielski# KIND, either express or implied. See the License for the 18*b1cdbd2cSJim Jagielski# specific language governing permissions and limitations 19*b1cdbd2cSJim Jagielski# under the License. 20*b1cdbd2cSJim Jagielski# 21*b1cdbd2cSJim Jagielski# ************************************************************* 22*b1cdbd2cSJim JagielskiURI_ENCODE="`dirname "$0"`/uri-encode" 23*b1cdbd2cSJim JagielskiFOPTS="" 24*b1cdbd2cSJim Jagielski 25*b1cdbd2cSJim Jagielski# Linux file utility needs -L option to resolve symlinks 26*b1cdbd2cSJim Jagielskiif [ "`uname -s`" = "Linux" ] 27*b1cdbd2cSJim Jagielskithen 28*b1cdbd2cSJim Jagielski FOPTS="-L" 29*b1cdbd2cSJim Jagielskifi 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski# do not confuse the system mail clients with AOO and Java libraries 32*b1cdbd2cSJim Jagielskiunset LD_LIBRARY_PATH 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski# tries to locate the executable specified 35*b1cdbd2cSJim Jagielski# as first parameter in the user's path. 36*b1cdbd2cSJim Jagielskiwhich() { 37*b1cdbd2cSJim Jagielski if [ ! -z "$1" ]; then 38*b1cdbd2cSJim Jagielski for i in `echo $PATH | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 's/::/:.:/g' -e 's/:/ /g'`; do 39*b1cdbd2cSJim Jagielski if [ -x "$i/$1" -a ! -d "$i/$1" ]; then 40*b1cdbd2cSJim Jagielski echo "$i/$1" 41*b1cdbd2cSJim Jagielski break; 42*b1cdbd2cSJim Jagielski fi 43*b1cdbd2cSJim Jagielski done 44*b1cdbd2cSJim Jagielski fi 45*b1cdbd2cSJim Jagielski} 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski# checks for the original Mozilla start script(s) 48*b1cdbd2cSJim Jagielski# and restrict the "-remote" semantics to those. 49*b1cdbd2cSJim Jagielskirun_mozilla() { 50*b1cdbd2cSJim Jagielski # find mozilla script in PATH if necessary 51*b1cdbd2cSJim Jagielski if [ "`basename $1`" = "$1" ]; then 52*b1cdbd2cSJim Jagielski moz=`which $1` 53*b1cdbd2cSJim Jagielski else 54*b1cdbd2cSJim Jagielski moz=$1 55*b1cdbd2cSJim Jagielski fi 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielski if file $FOPTS "$moz" | grep "script" > /dev/null && grep "[NM]PL" "$moz" > /dev/null; then 58*b1cdbd2cSJim Jagielski "$moz" -remote 'ping()' 2>/dev/null >/dev/null 59*b1cdbd2cSJim Jagielski if [ $? -eq 2 ]; then 60*b1cdbd2cSJim Jagielski "$1" -compose "$2" & 61*b1cdbd2cSJim Jagielski else 62*b1cdbd2cSJim Jagielski "$1" -remote "xfeDoCommand(composeMessage,$2)" & 63*b1cdbd2cSJim Jagielski fi 64*b1cdbd2cSJim Jagielski else 65*b1cdbd2cSJim Jagielski "$1" -compose "$2" & 66*b1cdbd2cSJim Jagielski fi 67*b1cdbd2cSJim Jagielski} 68*b1cdbd2cSJim Jagielski 69*b1cdbd2cSJim Jagielskiif [ "$1" = "--mailclient" ]; then 70*b1cdbd2cSJim Jagielski shift 71*b1cdbd2cSJim Jagielski MAILER=$1 72*b1cdbd2cSJim Jagielski shift 73*b1cdbd2cSJim Jagielskifi 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski# autodetect mail client from executable name 76*b1cdbd2cSJim Jagielskicase `basename "$MAILER" | sed 's/-.*$//'` in 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski iceape | mozilla | netscape | seamonkey | icedove | thunderbird) 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski while [ "$1" != "" ]; do 81*b1cdbd2cSJim Jagielski case $1 in 82*b1cdbd2cSJim Jagielski --to) 83*b1cdbd2cSJim Jagielski TO=${TO:-}${TO:+,}$2 84*b1cdbd2cSJim Jagielski shift 85*b1cdbd2cSJim Jagielski ;; 86*b1cdbd2cSJim Jagielski --cc) 87*b1cdbd2cSJim Jagielski CC=${CC:-}${CC:+,}$2 88*b1cdbd2cSJim Jagielski shift 89*b1cdbd2cSJim Jagielski ;; 90*b1cdbd2cSJim Jagielski --bcc) 91*b1cdbd2cSJim Jagielski BCC=${BCC:-}${BCC:+,}$2 92*b1cdbd2cSJim Jagielski shift 93*b1cdbd2cSJim Jagielski ;; 94*b1cdbd2cSJim Jagielski --subject) 95*b1cdbd2cSJim Jagielski SUBJECT=$2 96*b1cdbd2cSJim Jagielski shift 97*b1cdbd2cSJim Jagielski ;; 98*b1cdbd2cSJim Jagielski --body) 99*b1cdbd2cSJim Jagielski BODY=$2 100*b1cdbd2cSJim Jagielski shift 101*b1cdbd2cSJim Jagielski ;; 102*b1cdbd2cSJim Jagielski --attach) 103*b1cdbd2cSJim Jagielski ATTACH=${ATTACH:-}${ATTACH:+,}`echo "file://$2" | "${URI_ENCODE}"` 104*b1cdbd2cSJim Jagielski shift 105*b1cdbd2cSJim Jagielski ;; 106*b1cdbd2cSJim Jagielski *) 107*b1cdbd2cSJim Jagielski ;; 108*b1cdbd2cSJim Jagielski esac 109*b1cdbd2cSJim Jagielski shift; 110*b1cdbd2cSJim Jagielski done 111*b1cdbd2cSJim Jagielski 112*b1cdbd2cSJim Jagielski if [ "$TO" != "" ]; then 113*b1cdbd2cSJim Jagielski COMMAND=${COMMAND:-}${COMMAND:+,}to=\'${TO}\' 114*b1cdbd2cSJim Jagielski fi 115*b1cdbd2cSJim Jagielski if [ "$CC" != "" ]; then 116*b1cdbd2cSJim Jagielski COMMAND=${COMMAND:-}${COMMAND:+,}cc=\'${CC}\' 117*b1cdbd2cSJim Jagielski fi 118*b1cdbd2cSJim Jagielski if [ "$BCC" != "" ]; then 119*b1cdbd2cSJim Jagielski COMMAND=${COMMAND:-}${COMMAND:+,}bcc=\'${BCC}\' 120*b1cdbd2cSJim Jagielski fi 121*b1cdbd2cSJim Jagielski if [ "$SUBJECT" != "" ]; then 122*b1cdbd2cSJim Jagielski COMMAND=${COMMAND:-}${COMMAND:+,}subject=\'${SUBJECT}\' 123*b1cdbd2cSJim Jagielski fi 124*b1cdbd2cSJim Jagielski if [ "$BODY" != "" ]; then 125*b1cdbd2cSJim Jagielski COMMAND=${COMMAND:-}${COMMAND:+,}body=\'${BODY}\' 126*b1cdbd2cSJim Jagielski fi 127*b1cdbd2cSJim Jagielski if [ "$ATTACH" != "" ]; then 128*b1cdbd2cSJim Jagielski COMMAND=${COMMAND:-}${COMMAND:+,}attachment=\'${ATTACH}\' 129*b1cdbd2cSJim Jagielski fi 130*b1cdbd2cSJim Jagielski 131*b1cdbd2cSJim Jagielski run_mozilla "$MAILER" "$COMMAND" 132*b1cdbd2cSJim Jagielski ;; 133*b1cdbd2cSJim Jagielski 134*b1cdbd2cSJim Jagielski kmail) 135*b1cdbd2cSJim Jagielski 136*b1cdbd2cSJim Jagielski while [ "$1" != "" ]; do 137*b1cdbd2cSJim Jagielski case $1 in 138*b1cdbd2cSJim Jagielski --to) 139*b1cdbd2cSJim Jagielski TO="${TO:-}${TO:+,}$2" 140*b1cdbd2cSJim Jagielski shift 141*b1cdbd2cSJim Jagielski ;; 142*b1cdbd2cSJim Jagielski --cc) 143*b1cdbd2cSJim Jagielski CC="${CC:-}${CC:+,}$2" 144*b1cdbd2cSJim Jagielski shift 145*b1cdbd2cSJim Jagielski ;; 146*b1cdbd2cSJim Jagielski --bcc) 147*b1cdbd2cSJim Jagielski BCC="${BCC:-}${BCC:+,}$2" 148*b1cdbd2cSJim Jagielski shift 149*b1cdbd2cSJim Jagielski ;; 150*b1cdbd2cSJim Jagielski --subject) 151*b1cdbd2cSJim Jagielski SUBJECT="$2" 152*b1cdbd2cSJim Jagielski shift 153*b1cdbd2cSJim Jagielski ;; 154*b1cdbd2cSJim Jagielski --body) 155*b1cdbd2cSJim Jagielski BODY="$2" 156*b1cdbd2cSJim Jagielski shift 157*b1cdbd2cSJim Jagielski ;; 158*b1cdbd2cSJim Jagielski --from) 159*b1cdbd2cSJim Jagielski FROM="$2" 160*b1cdbd2cSJim Jagielski shift 161*b1cdbd2cSJim Jagielski ;; 162*b1cdbd2cSJim Jagielski --attach) 163*b1cdbd2cSJim Jagielski ATTACH="${ATTACH:-}${ATTACH:+ }--attach "`echo "file://$2" | "${URI_ENCODE}"` 164*b1cdbd2cSJim Jagielski shift 165*b1cdbd2cSJim Jagielski ;; 166*b1cdbd2cSJim Jagielski *) 167*b1cdbd2cSJim Jagielski ;; 168*b1cdbd2cSJim Jagielski esac 169*b1cdbd2cSJim Jagielski shift; 170*b1cdbd2cSJim Jagielski done 171*b1cdbd2cSJim Jagielski 172*b1cdbd2cSJim Jagielski ${MAILER} --composer \ 173*b1cdbd2cSJim Jagielski ${CC:+--cc} ${CC:+"${CC}"} \ 174*b1cdbd2cSJim Jagielski ${BCC:+--bcc} ${BCC:+"${BCC}"} \ 175*b1cdbd2cSJim Jagielski ${SUBJECT:+--subject} ${SUBJECT:+"${SUBJECT}"} \ 176*b1cdbd2cSJim Jagielski ${BODY:+--body} ${BODY:+"${BODY}"} \ 177*b1cdbd2cSJim Jagielski ${FROM:+--header} ${FROM:+"From: ${FROM}"} \ 178*b1cdbd2cSJim Jagielski ${ATTACH:+${ATTACH}} \ 179*b1cdbd2cSJim Jagielski ${TO:+"${TO}"} 180*b1cdbd2cSJim Jagielski ;; 181*b1cdbd2cSJim Jagielski 182*b1cdbd2cSJim Jagielski mutt) 183*b1cdbd2cSJim Jagielski 184*b1cdbd2cSJim Jagielski while [ "$1" != "" ]; do 185*b1cdbd2cSJim Jagielski case $1 in 186*b1cdbd2cSJim Jagielski --from) 187*b1cdbd2cSJim Jagielski FROM="$2" 188*b1cdbd2cSJim Jagielski shift 189*b1cdbd2cSJim Jagielski ;; 190*b1cdbd2cSJim Jagielski --to) 191*b1cdbd2cSJim Jagielski TO="${TO:-}${TO:+,}$2" 192*b1cdbd2cSJim Jagielski shift 193*b1cdbd2cSJim Jagielski ;; 194*b1cdbd2cSJim Jagielski --cc) 195*b1cdbd2cSJim Jagielski CC="${CC:-}${CC:+,}$2" 196*b1cdbd2cSJim Jagielski shift 197*b1cdbd2cSJim Jagielski ;; 198*b1cdbd2cSJim Jagielski --bcc) 199*b1cdbd2cSJim Jagielski BCC="${BCC:-}${BCC:+,}$2" 200*b1cdbd2cSJim Jagielski shift 201*b1cdbd2cSJim Jagielski ;; 202*b1cdbd2cSJim Jagielski --subject) 203*b1cdbd2cSJim Jagielski SUBJECT="$2" 204*b1cdbd2cSJim Jagielski shift 205*b1cdbd2cSJim Jagielski ;; 206*b1cdbd2cSJim Jagielski --body) 207*b1cdbd2cSJim Jagielski TEMPLATE="`basename $0`.mutt.XXXXXXXX" 208*b1cdbd2cSJim Jagielski BODY=`mktemp -q -t ${TEMPLATE}` 209*b1cdbd2cSJim Jagielski echo "$2" > $BODY 210*b1cdbd2cSJim Jagielski shift 211*b1cdbd2cSJim Jagielski ;; 212*b1cdbd2cSJim Jagielski --attach) 213*b1cdbd2cSJim Jagielski ATTACH="$2" 214*b1cdbd2cSJim Jagielski shift 215*b1cdbd2cSJim Jagielski ;; 216*b1cdbd2cSJim Jagielski *) 217*b1cdbd2cSJim Jagielski ;; 218*b1cdbd2cSJim Jagielski esac 219*b1cdbd2cSJim Jagielski shift; 220*b1cdbd2cSJim Jagielski done 221*b1cdbd2cSJim Jagielski 222*b1cdbd2cSJim Jagielski x-terminal-emulator -e ${MAILER} \ 223*b1cdbd2cSJim Jagielski ${FROM:+-e} ${FROM:+"set from=\"${FROM}\""} \ 224*b1cdbd2cSJim Jagielski ${CC:+-c} ${CC:+"${CC}"} \ 225*b1cdbd2cSJim Jagielski ${BCC:+-b} ${BCC:+"${BCC}"} \ 226*b1cdbd2cSJim Jagielski ${SUBJECT:+-s} ${SUBJECT:+"${SUBJECT}"} \ 227*b1cdbd2cSJim Jagielski ${BODY:+-i} ${BODY:+"${BODY}"} \ 228*b1cdbd2cSJim Jagielski ${ATTACH:+-a} ${ATTACH:+"${ATTACH}"} \ 229*b1cdbd2cSJim Jagielski ${TO:+"${TO}"} & 230*b1cdbd2cSJim Jagielski rm -f $BODY 231*b1cdbd2cSJim Jagielski ;; 232*b1cdbd2cSJim Jagielski 233*b1cdbd2cSJim Jagielski evolution) 234*b1cdbd2cSJim Jagielski 235*b1cdbd2cSJim Jagielski while [ "$1" != "" ]; do 236*b1cdbd2cSJim Jagielski case $1 in 237*b1cdbd2cSJim Jagielski --to) 238*b1cdbd2cSJim Jagielski if [ "${TO}" != "" ]; then 239*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}to=$2" 240*b1cdbd2cSJim Jagielski else 241*b1cdbd2cSJim Jagielski TO="$2" 242*b1cdbd2cSJim Jagielski fi 243*b1cdbd2cSJim Jagielski shift 244*b1cdbd2cSJim Jagielski ;; 245*b1cdbd2cSJim Jagielski --cc) 246*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}cc="`echo "$2" | "${URI_ENCODE}"` 247*b1cdbd2cSJim Jagielski shift 248*b1cdbd2cSJim Jagielski ;; 249*b1cdbd2cSJim Jagielski --bcc) 250*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}bcc="`echo "$2" | "${URI_ENCODE}"` 251*b1cdbd2cSJim Jagielski shift 252*b1cdbd2cSJim Jagielski ;; 253*b1cdbd2cSJim Jagielski --subject) 254*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}subject"=`echo "$2" | "${URI_ENCODE}"` 255*b1cdbd2cSJim Jagielski shift 256*b1cdbd2cSJim Jagielski ;; 257*b1cdbd2cSJim Jagielski --body) 258*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}body="`echo "$2" | "${URI_ENCODE}"` 259*b1cdbd2cSJim Jagielski shift 260*b1cdbd2cSJim Jagielski ;; 261*b1cdbd2cSJim Jagielski --attach) 262*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}attach="`echo "file://$2" | "${URI_ENCODE}"` 263*b1cdbd2cSJim Jagielski shift 264*b1cdbd2cSJim Jagielski ;; 265*b1cdbd2cSJim Jagielski *) 266*b1cdbd2cSJim Jagielski ;; 267*b1cdbd2cSJim Jagielski esac 268*b1cdbd2cSJim Jagielski shift; 269*b1cdbd2cSJim Jagielski done 270*b1cdbd2cSJim Jagielski 271*b1cdbd2cSJim Jagielski MAILTO="mailto:${TO}?${MAILTO}" 272*b1cdbd2cSJim Jagielski ${MAILER} "${MAILTO}" & 273*b1cdbd2cSJim Jagielski ;; 274*b1cdbd2cSJim Jagielski 275*b1cdbd2cSJim Jagielski groupwise) 276*b1cdbd2cSJim Jagielski 277*b1cdbd2cSJim Jagielski while [ "$1" != "" ]; do 278*b1cdbd2cSJim Jagielski case $1 in 279*b1cdbd2cSJim Jagielski --to) 280*b1cdbd2cSJim Jagielski if [ "${TO}" != "" ]; then 281*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}to=$2" 282*b1cdbd2cSJim Jagielski else 283*b1cdbd2cSJim Jagielski TO="$2" 284*b1cdbd2cSJim Jagielski fi 285*b1cdbd2cSJim Jagielski shift 286*b1cdbd2cSJim Jagielski ;; 287*b1cdbd2cSJim Jagielski --cc) 288*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}cc="`echo "$2" | "${URI_ENCODE}"` 289*b1cdbd2cSJim Jagielski shift 290*b1cdbd2cSJim Jagielski ;; 291*b1cdbd2cSJim Jagielski --bcc) 292*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}bcc="`echo "$2" | "${URI_ENCODE}"` 293*b1cdbd2cSJim Jagielski shift 294*b1cdbd2cSJim Jagielski ;; 295*b1cdbd2cSJim Jagielski --subject) 296*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}subject"=`echo "$2" | "${URI_ENCODE}"` 297*b1cdbd2cSJim Jagielski shift 298*b1cdbd2cSJim Jagielski ;; 299*b1cdbd2cSJim Jagielski --body) 300*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}body="`echo "$2" | "${URI_ENCODE}"` 301*b1cdbd2cSJim Jagielski shift 302*b1cdbd2cSJim Jagielski ;; 303*b1cdbd2cSJim Jagielski --attach) 304*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}attachment="`echo "file://$2" | "${URI_ENCODE}"` 305*b1cdbd2cSJim Jagielski shift 306*b1cdbd2cSJim Jagielski ;; 307*b1cdbd2cSJim Jagielski *) 308*b1cdbd2cSJim Jagielski ;; 309*b1cdbd2cSJim Jagielski esac 310*b1cdbd2cSJim Jagielski shift; 311*b1cdbd2cSJim Jagielski done 312*b1cdbd2cSJim Jagielski 313*b1cdbd2cSJim Jagielski MAILTO="mailto:${TO}?${MAILTO}" 314*b1cdbd2cSJim Jagielski ${MAILER} "${MAILTO}" & 315*b1cdbd2cSJim Jagielski ;; 316*b1cdbd2cSJim Jagielski 317*b1cdbd2cSJim Jagielski dtmail) 318*b1cdbd2cSJim Jagielski 319*b1cdbd2cSJim Jagielski while [ "$1" != "" ]; do 320*b1cdbd2cSJim Jagielski case $1 in 321*b1cdbd2cSJim Jagielski --to) 322*b1cdbd2cSJim Jagielski TO=${TO:-}${TO:+,}$2 323*b1cdbd2cSJim Jagielski shift 324*b1cdbd2cSJim Jagielski ;; 325*b1cdbd2cSJim Jagielski --attach) 326*b1cdbd2cSJim Jagielski ATTACH="$2" 327*b1cdbd2cSJim Jagielski shift 328*b1cdbd2cSJim Jagielski ;; 329*b1cdbd2cSJim Jagielski *) 330*b1cdbd2cSJim Jagielski ;; 331*b1cdbd2cSJim Jagielski esac 332*b1cdbd2cSJim Jagielski shift; 333*b1cdbd2cSJim Jagielski done 334*b1cdbd2cSJim Jagielski 335*b1cdbd2cSJim Jagielski ${MAILER} ${TO:+-T} ${TO:-} ${ATTACH:+-a} ${ATTACH:+"${ATTACH}"} 336*b1cdbd2cSJim Jagielski ;; 337*b1cdbd2cSJim Jagielski 338*b1cdbd2cSJim Jagielski sylpheed | claws | claws-mail) 339*b1cdbd2cSJim Jagielski 340*b1cdbd2cSJim Jagielski while [ "$1" != "" ]; do 341*b1cdbd2cSJim Jagielski case $1 in 342*b1cdbd2cSJim Jagielski --to) 343*b1cdbd2cSJim Jagielski TO=${TO:-}${TO:+,}$2 344*b1cdbd2cSJim Jagielski shift 345*b1cdbd2cSJim Jagielski ;; 346*b1cdbd2cSJim Jagielski --attach) 347*b1cdbd2cSJim Jagielski ATTACH="${ATTACH:-}${ATTACH:+ }$2" 348*b1cdbd2cSJim Jagielski shift 349*b1cdbd2cSJim Jagielski ;; 350*b1cdbd2cSJim Jagielski *) 351*b1cdbd2cSJim Jagielski ;; 352*b1cdbd2cSJim Jagielski esac 353*b1cdbd2cSJim Jagielski shift; 354*b1cdbd2cSJim Jagielski done 355*b1cdbd2cSJim Jagielski 356*b1cdbd2cSJim Jagielski ${MAILER} ${TO:+--compose} "${TO:-}" ${ATTACH:+--attach} "${ATTACH:-}" 357*b1cdbd2cSJim Jagielski ;; 358*b1cdbd2cSJim Jagielski 359*b1cdbd2cSJim Jagielski Mail | Thunderbird | *.app ) 360*b1cdbd2cSJim Jagielski 361*b1cdbd2cSJim Jagielski while [ "$1" != "" ]; do 362*b1cdbd2cSJim Jagielski case $1 in 363*b1cdbd2cSJim Jagielski --attach) 364*b1cdbd2cSJim Jagielski #i95688# fix filenames containing accented chars, whatever alien 365*b1cdbd2cSJim Jagielski ATTACH="${ATTACH:-}${ATTACH:+ }"`echo "file://$2" | "${URI_ENCODE}"` 366*b1cdbd2cSJim Jagielski shift 367*b1cdbd2cSJim Jagielski ;; 368*b1cdbd2cSJim Jagielski *) 369*b1cdbd2cSJim Jagielski ;; 370*b1cdbd2cSJim Jagielski esac 371*b1cdbd2cSJim Jagielski shift; 372*b1cdbd2cSJim Jagielski done 373*b1cdbd2cSJim Jagielski /usr/bin/open -a "${MAILER}" ${ATTACH} 374*b1cdbd2cSJim Jagielski ;; 375*b1cdbd2cSJim Jagielski 376*b1cdbd2cSJim Jagielski "") 377*b1cdbd2cSJim Jagielski 378*b1cdbd2cSJim Jagielski # DESKTOP_LAUNCH, see http://freedesktop.org/pipermail/xdg/2004-August/004489.html 379*b1cdbd2cSJim Jagielski if [ -n "$DESKTOP_LAUNCH" ]; then 380*b1cdbd2cSJim Jagielski while [ "$1" != "" ]; do 381*b1cdbd2cSJim Jagielski case $1 in 382*b1cdbd2cSJim Jagielski --to) 383*b1cdbd2cSJim Jagielski if [ "${TO}" != "" ]; then 384*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}to=$2" 385*b1cdbd2cSJim Jagielski else 386*b1cdbd2cSJim Jagielski TO="$2" 387*b1cdbd2cSJim Jagielski fi 388*b1cdbd2cSJim Jagielski shift 389*b1cdbd2cSJim Jagielski ;; 390*b1cdbd2cSJim Jagielski --cc) 391*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}cc="`echo "$2" | "${URI_ENCODE}"` 392*b1cdbd2cSJim Jagielski shift 393*b1cdbd2cSJim Jagielski ;; 394*b1cdbd2cSJim Jagielski --bcc) 395*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}bcc="`echo "$2" | "${URI_ENCODE}"` 396*b1cdbd2cSJim Jagielski shift 397*b1cdbd2cSJim Jagielski ;; 398*b1cdbd2cSJim Jagielski --subject) 399*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}subject="`echo "$2" | "${URI_ENCODE}"` 400*b1cdbd2cSJim Jagielski shift 401*b1cdbd2cSJim Jagielski ;; 402*b1cdbd2cSJim Jagielski --body) 403*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}body="`echo "$2" | "${URI_ENCODE}"` 404*b1cdbd2cSJim Jagielski shift 405*b1cdbd2cSJim Jagielski ;; 406*b1cdbd2cSJim Jagielski --attach) 407*b1cdbd2cSJim Jagielski MAILTO="${MAILTO:-}${MAILTO:+&}attachment="`echo "$2" | "${URI_ENCODE}"` 408*b1cdbd2cSJim Jagielski shift 409*b1cdbd2cSJim Jagielski ;; 410*b1cdbd2cSJim Jagielski *) 411*b1cdbd2cSJim Jagielski ;; 412*b1cdbd2cSJim Jagielski esac 413*b1cdbd2cSJim Jagielski shift; 414*b1cdbd2cSJim Jagielski done 415*b1cdbd2cSJim Jagielski 416*b1cdbd2cSJim Jagielski MAILTO="mailto:${TO}?${MAILTO}" 417*b1cdbd2cSJim Jagielski ${DESKTOP_LAUNCH} "${MAILTO}" & 418*b1cdbd2cSJim Jagielski else 419*b1cdbd2cSJim Jagielski echo "Could not determine a mail client to use." 420*b1cdbd2cSJim Jagielski exit 2 421*b1cdbd2cSJim Jagielski fi 422*b1cdbd2cSJim Jagielski ;; 423*b1cdbd2cSJim Jagielski 424*b1cdbd2cSJim Jagielski *) 425*b1cdbd2cSJim Jagielski echo "Unsupported mail client: `basename $MAILER | sed 's/-.*^//'`" 426*b1cdbd2cSJim Jagielski exit 2 427*b1cdbd2cSJim Jagielski ;; 428*b1cdbd2cSJim Jagielskiesac 429*b1cdbd2cSJim Jagielski 430*b1cdbd2cSJim Jagielskiexit 0 431