Index: src/edu/ucsb/nceas/metacat/harvesterClient/Harvester.java
===================================================================
--- src/edu/ucsb/nceas/metacat/harvesterClient/Harvester.java	(revision 2329)
+++ src/edu/ucsb/nceas/metacat/harvesterClient/Harvester.java	(revision 2330)
@@ -810,6 +810,7 @@
   void reportToAdministrator(String maxCodeLevel) {
     PrintStream body;
     String from = harvesterAdministrator;
+    String[] fromArray;
     MailMessage msg;
     int siteScheduleID = 0;
     String subject = "Report from Metacat Harvester: " + timestamp;
@@ -821,8 +822,34 @@
       
       try {
         msg = new MailMessage(smtpServer);
-        msg.from(from);
-        msg.to(to);
+
+        if (from.indexOf(',') > 0) {
+          fromArray = from.split(",");
+          
+          for (int i = 0; i < fromArray.length; i++) {
+            if (i == 0) {
+              msg.from(fromArray[i]);
+            }
+            
+            msg.to(fromArray[i]);            
+          }
+        }
+        else if (from.indexOf(';') > 0) {
+          fromArray = from.split(";");
+
+          for (int i = 0; i < fromArray.length; i++) {
+            if (i == 0) {
+              msg.from(fromArray[i]);
+            }
+            
+            msg.to(fromArray[i]);            
+          }
+        }
+        else {
+          msg.from(from);
+          msg.to(to);
+        }
+        
         msg.setSubject(subject);
         body = msg.getPrintStream();
         printHarvestHeader(body, siteScheduleID);
Index: src/edu/ucsb/nceas/metacat/harvesterClient/HarvestSiteSchedule.java
===================================================================
--- src/edu/ucsb/nceas/metacat/harvesterClient/HarvestSiteSchedule.java	(revision 2329)
+++ src/edu/ucsb/nceas/metacat/harvesterClient/HarvestSiteSchedule.java	(revision 2330)
@@ -529,11 +529,13 @@
   void reportToSiteContact() {
     PrintStream body;
     String from = harvester.harvesterAdministrator;
+    String[] fromArray;
     String maxCodeLevel = "info";
     MailMessage msg;
     int nErrors = 0;
     String subject = "Report from Metacat Harvester: " + harvester.timestamp;
     String to = contactEmail;
+    String[] toArray;
     
     if (!to.equals("")) {
       System.out.println("Sending report to siteScheduleID=" + siteScheduleID +
@@ -540,9 +542,54 @@
                          " at address: " + contactEmail);
       try {
         msg = new MailMessage(harvester.smtpServer);
-        msg.from(from);
-        msg.to(to);
-        msg.cc(from);
+        
+        if (from.indexOf(',') > 0) {
+          fromArray = from.split(",");
+          
+          for (int i = 0; i < fromArray.length; i++) {
+            if (i == 0) {
+              msg.from(fromArray[i]);
+            }
+            
+            msg.cc(fromArray[i]);
+            
+          }
+        }
+        else if (from.indexOf(';') > 0) {
+          fromArray = from.split(";");
+
+          for (int i = 0; i < fromArray.length; i++) {
+            if (i == 0) {
+              msg.from(fromArray[i]);
+            }
+            
+            msg.cc(fromArray[i]);
+            
+          }
+        }
+        else {
+          msg.from(from);
+          msg.cc(from);
+        }
+        
+        if (to.indexOf(',') > 0) {
+          toArray = to.split(",");
+          
+          for (int i = 0; i < toArray.length; i++) {
+            msg.to(toArray[i]);
+          }
+        }
+        else if (to.indexOf(';') > 0) {
+          toArray = to.split(";");
+          
+          for (int i = 0; i < toArray.length; i++) {
+            msg.to(toArray[i]);
+          }
+        }
+        else {
+          msg.to(to);
+        }
+        
         msg.setSubject(subject);
         body = msg.getPrintStream();
         harvester.printHarvestHeader(body, siteScheduleID);
Index: docs/user/harvester.html
===================================================================
--- docs/user/harvester.html	(revision 2329)
+++ docs/user/harvester.html	(revision 2330)
@@ -179,9 +179,12 @@
     <tr>
       <td>harvesterAdministrator</td>
       <td>The email address of the Harvester Administrator. Harvester will
-          send email reports to this address after every harvest.
+          send email reports to this address after every harvest. You may
+          enter multiple email addresses by separating each address with
+          a comma or semicolon, for example, "name1@abc.edu,name2@abc.edu".
       </td>
-      <td>An email address</td>
+      <td>An email address, or multiple email addresses separated by commas
+          or semi-colons</td>
     </tr>
     <tr>
       <td>logPeriod</td>
@@ -463,6 +466,11 @@
   "http://somehost.institution.edu/~myname/harvestList.xml", and it will send
   email reports to the Site Contact at email address "myname@institution.edu".
   </P>
+  <P>
+  Note that you may enter multiple email addresses by separating each
+  address with a comma or a semi-colon. For example, 
+  "myname@institution.edu,anothername@institution.edu".
+  </P>
     </li>
     <li>Unregistering with Harvester
   <p>
