[LON-CAPA-cvs] cvs: loncom /interface lonmsg.pm

musolffc musolffc at source.lon-capa.org
Thu Jun 18 19:02:48 EDT 2015


musolffc		Thu Jun 18 23:02:48 2015 EDT

  Modified files:              
    /loncom/interface	lonmsg.pm 
  Log:
  Reverting to rev. 1.239
  
  MIME::Entity is not included with LON-CAPA.  
  Will change to MIME::Lite per Stuart Raeburn's suggestion.
  
  
Index: loncom/interface/lonmsg.pm
diff -u loncom/interface/lonmsg.pm:1.240 loncom/interface/lonmsg.pm:1.241
--- loncom/interface/lonmsg.pm:1.240	Thu Jun 18 21:42:37 2015
+++ loncom/interface/lonmsg.pm	Thu Jun 18 23:02:48 2015
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Routines for messaging
 #
-# $Id: lonmsg.pm,v 1.240 2015/06/18 21:42:37 musolffc Exp $
+# $Id: lonmsg.pm,v 1.241 2015/06/18 23:02:48 musolffc Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -202,7 +202,7 @@
 use Apache::lonnet;
 use HTML::TokeParser();
 use Apache::lonlocal;
-use MIME::Entity;
+use Mail::Send;
 use HTML::Entities;
 use Encode;
 use LONCAPA qw(:DEFAULT :match);
@@ -421,7 +421,7 @@
 
 
 sub sendemail {
-    my ($to,$subject,$body,$to_uname,$to_udom,$user_lh,$attachmenturl)=@_;
+    my ($to,$subject,$body,$to_uname,$to_udom,$user_lh)=@_;
     my $senderaddress='';
     my $replytoaddress='';
     my $msgsent;
@@ -457,23 +457,19 @@
     "*** ".($senderaddress?&mt_user($user_lh,'You can reply to this e-mail'):&mt_user($user_lh,'Please do not reply to this address.')."\n*** ".
     &mt_user($user_lh,'A reply will not be received by the recipient!'))."\n\n".$body;
     
-    $attachmenturl = &Apache::lonnet::filelocation("",$attachmenturl);
-    my $filesize = (stat($attachmenturl))[7];
-    if ($filesize > 1048576) {
-        print '<p><span class="LC_error">' 
-            .&mt('Email not sent.  Attachment exceeds permitted length.')
-            .'</span><br /></p>';
-    } else {
-        my $top = MIME::Entity->build(  Type => "multipart/mixed",
-                                        From => $senderaddress,
-                                        To => $to,
-                                        Subject => '[LON-CAPA] '.$subject);
-        $top->attach(Data=>$body);
-        $top->attach(Path=>$attachmenturl);
-
-        open MAIL, "| /usr/lib/sendmail -t -oi -oem" or die "open: $!";
-        $top->print(\*MAIL);
-        close MAIL;
+    my $msg = new Mail::Send;
+    $msg->to($to);
+    $msg->subject('[LON-CAPA] '.$subject);
+    if ($replytoaddress) {
+        $msg->add('Reply-to',$replytoaddress);
+    }
+    if ($senderaddress) {
+        $msg->add('From',$senderaddress);
+    }
+    $msg->add('Content-type','text/plain; charset=UTF-8');
+    if (my $fh = $msg->open()) {
+	print $fh $body;
+	$fh->close;
         $msgsent = 1;
     }
     return $msgsent;
@@ -482,7 +478,7 @@
 # ==================================================== Send notification emails
 
 sub sendnotification {
-    my ($to,$touname,$toudom,$subj,$crit,$text,$msgid,$attachmenturl)=@_;
+    my ($to,$touname,$toudom,$subj,$crit,$text,$msgid)=@_;
     my $sender=$env{'environment.firstname'}.' '.$env{'environment.lastname'};
     unless ($sender=~/\w/) { 
 	$sender=$env{'user.name'}.':'.$env{'user.domain'};
@@ -566,7 +562,7 @@
                 }
                 $body = $bodybegin.$bodysubj.$sendtext.$bodyend;
             }
-            if (&sendemail($addr,$subject,$body,$touname,$toudom,$user_lh,$attachmenturl)) {
+            if (&sendemail($addr,$subject,$body,$touname,$toudom,$user_lh)) {
                 $numsent ++;
             }
         }
@@ -577,7 +573,7 @@
             my $htmlfree = &make_htmlfree($text);
             $body = $bodybegin.$bodysubj.$htmlfree.$bodyend;
         }
-        if (&sendemail($to,$subject,$body,$touname,$toudom,$user_lh,$attachmenturl)) {
+        if (&sendemail($to,$subject,$body,$touname,$toudom,$user_lh)) {
             $numsent ++;
         }
     }
@@ -746,7 +742,7 @@
     my $numperm = 0;
     my $permlogmsgstatus;
     if ($critnotify) {
-        $numcrit = &sendnotification($critnotify,$user,$domain,$subject,1,$text,$msgid,$attachmenturl);
+        $numcrit = &sendnotification($critnotify,$user,$domain,$subject,1,$text,$msgid);
     }
     if ($toperm && $permemail) {
         if ($critnotify && $numcrit) {
@@ -755,7 +751,7 @@
             }
         }
         unless ($numperm) {
-            $numperm = &sendnotification($permemail,$user,$domain,$subject,1,$text,$msgid,$attachmenturl);
+            $numperm = &sendnotification($permemail,$user,$domain,$subject,1,$text,$msgid);
         }
     }
     if ($toperm) {
@@ -890,7 +886,7 @@
        my $numperm = 0;
        my $permlogmsgstatus;
        if ($notify) {
-           $numnotify = &sendnotification($notify,$user,$domain,$subject,0,$text,$msgid,$attachmenturl);
+           $numnotify = &sendnotification($notify,$user,$domain,$subject,0,$text,$msgid);
        }
        if ($toperm && $permemail) {
            if ($notify && $numnotify) {
@@ -900,7 +896,7 @@
            }
            unless ($numperm) {
                $numperm = &sendnotification($permemail,$user,$domain,$subject,0,
-                                            $text,$msgid,$attachmenturl);
+                                            $text,$msgid);
            }
        }
        if ($toperm) {




More information about the LON-CAPA-cvs mailing list