Index: openacs-4/packages/acs-mail-lite/acs-mail-lite.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-mail-lite/acs-mail-lite.info,v
diff -u -N -r1.27 -r1.28
--- openacs-4/packages/acs-mail-lite/acs-mail-lite.info 22 Dec 2006 07:57:42 -0000 1.27
+++ openacs-4/packages/acs-mail-lite/acs-mail-lite.info 24 Dec 2006 11:09:52 -0000 1.28
@@ -7,7 +7,7 @@
f
t
-
+
Eric Lorenzo
Timo Hentschel
@@ -16,7 +16,7 @@
This package provides a simple ns_sendmail-like interface for sending messages, but queues messages in the database to ensure reliable sending and make sending a message 'transactional'. Prefered over acs-messaging or acs-mail.
2
-
+
Index: openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-callback-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-callback-procs.tcl,v
diff -u -N -r1.11 -r1.12
--- openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-callback-procs.tcl 22 Dec 2006 07:57:43 -0000 1.11
+++ openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-callback-procs.tcl 24 Dec 2006 11:09:52 -0000 1.12
@@ -13,6 +13,7 @@
ad_proc -public -callback acs_mail_lite::complex_send {
{-package_id:required}
{-from_party_id:required}
+ {-from_addr ""}
{-to_party_ids}
{-cc_party_ids}
{-bcc_party_ids}
Index: openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl,v
diff -u -N -r1.64 -r1.65
--- openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl 22 Dec 2006 07:57:43 -0000 1.64
+++ openacs-4/packages/acs-mail-lite/tcl/acs-mail-lite-procs.tcl 24 Dec 2006 11:09:52 -0000 1.65
@@ -273,7 +273,7 @@
}
return [list]
}
-
+
# loop over every incoming mail
foreach msg $messages {
ns_log Debug "load_mails: opening $msg"
@@ -282,7 +282,6 @@
parse_email -file $msg -array email
set email(to) [parse_email_address -email $email(to)]
set email(from) [parse_email_address -email $email(from)]
-
# We execute all callbacks now
callback acs_mail_lite::incoming_email -array email
@@ -398,26 +397,36 @@
#now extract all parts (bodies/files) and fill the email array
foreach part $all_parts {
- switch [mime::getproperty $part content] {
- "text/plain" {
- lappend bodies [list "text/plain" [mime::getbody $part]]
+
+ # Attachments have a "Content-disposition" part
+ # Therefore we filter out if it is an attachment here
+ if {[catch {mime::getheader $part Content-disposition}]} {
+ switch [mime::getproperty $part content] {
+ "text/plain" {
+ lappend bodies [list "text/plain" [mime::getbody $part]]
+ }
+ "text/html" {
+ lappend bodies [list "text/html" [mime::getbody $part]]
+ }
}
- "text/html" {
- lappend bodies [list "text/html" [mime::getbody $part]]
+ } else {
+ set encoding [mime::getproperty $part encoding]
+ set body [mime::getbody $part -decode]
+ set content $body
+ set params [mime::getproperty $part params]
+ if {[lindex $params 0] == "name"} {
+ set filename [lindex $params 1]
+ } else {
+ set filename ""
}
- "application/octet-stream" {
- set content_type [mime::getproperty $part content]
- set encoding [mime::getproperty $part encoding]
- set body [mime::getbody $part -decode]
- set content $body
- set params [mime::getproperty $part params]
- if {[lindex $params 0] == "name"} {
- set filename [lindex $params 1]
- } else {
- set filename ""
- }
- lappend files [list $content_type $encoding $filename $content]
+
+ # Determine the content_type
+ set content_type [mime::getproperty $part content]
+ if {$content_type eq "application/octet-stream"} {
+ set content_type [ns_guesstype $filename]
}
+
+ lappend files [list $content_type $encoding $filename $content]
}
}
Index: openacs-4/packages/acs-mail-lite/tcl/complex-send-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-mail-lite/tcl/Attic/complex-send-procs.tcl,v
diff -u -N -r1.4 -r1.5
--- openacs-4/packages/acs-mail-lite/tcl/complex-send-procs.tcl 17 Dec 2006 20:11:55 -0000 1.4
+++ openacs-4/packages/acs-mail-lite/tcl/complex-send-procs.tcl 24 Dec 2006 11:09:52 -0000 1.5
@@ -384,9 +384,10 @@
# subject: convert 8-bit characters into MIME encoded words
# see http://tools.ietf.org/html/rfc2047
- set subject_encoded [mime::word_encode "iso8859-1" base64 $subject]
- regsub -all {\n} $subject_encoded {} subject_encoded
- mime::setheader $multi_token Subject "$subject_encoded"
+ #set subject_encoded [mime::word_encode "iso8859-1" base64 $subject]
+ #regsub -all {\n} $subject_encoded {} subject_encoded
+ #mime::setheader $multi_token Subject "$subject_encoded"
+ mime::setheader $multi_token Subject "$subject"
foreach header $extraheaders {
mime::setheader $multi_token "[lindex $header 0]" "[lindex $header 1]"
@@ -567,6 +568,7 @@
callback acs_mail_lite::complex_send \
-package_id $package_id \
-from_party_id [party::get_by_email -email $sender_addr] \
+ -from_addr $sender_addr \
-to_party_ids $to_party_ids \
-cc_party_ids $cc_party_ids \
-bcc_party_ids $bcc_party_ids \
@@ -608,6 +610,7 @@
callback acs_mail_lite::complex_send \
-package_id $package_id \
-from_party_id $party_id($from_addr) \
+ -from_addr $from_addr \
-to_addr $email \
-body $body \
-message_id $message_id \
@@ -636,6 +639,7 @@
callback acs_mail_lite::complex_send \
-package_id $package_id \
-from_party_id $party_id($from_addr) \
+ -from_addr $from_addr \
-to_party_ids $party \
-body $body \
-message_id $message_id \