Date: Sat, 14 Jul 2007 16:12:29 -0500 From: Derek Ragona <derek@computinginnovations.com> To: Mikhail Teterin <mi+kde@aldan.algebra.com>, questions@freebsd.org Subject: Re: Can cron e-mail HTML? Message-ID: <6.0.0.22.2.20070714155424.0242a958@mail.computinginnovations.com> In-Reply-To: <200707141603.55899@aldan> References: <200707141603.55899@aldan>
next in thread | previous in thread | raw e-mail | index | archive | help
At 03:03 PM 7/14/2007, Mikhail Teterin wrote: >Hello! > >I have a script launched from cron every morning, that gets certain data over >the Internet from a remote computer, compares the new data with that from the >previous day, and outputs the difference (if any). > >I'm relying on the fact, that cron e-mails me the output of each job. > >However, I modified the script recently to produce the output (if any) in >HTML, rather than in plain-text format. > >The HTML arrives by e-mail just as well as plain text used to, but no e-mail >program will render it as such, because neither the cron(8), nor the mail(1), >which cron uses to send e-mail, creates MIME messages... > >How can I force the ``Content-Type: text/html'' header without hacking cron's >sources? I'd rather avoid poluting my script with e-mail sending code... > >Maybe, cron should apply file(1)-like logic to the e-mailed content? > >Thanks for any hints. Yours, You need to change your script to send the email itself. I have many scripts that email reports, legs, and html reports. To accomplish this I have my cron job run a script like this (I have simplified the script you should be able to use it as a base): #!/usr/local/bin/ksh # set full paths for all commands needed, and files needed MAIL=/usr/bin/mail MAILFILE=/tmp/mail_file #fill in your correct email or alias you wish to use MAILTO=me@mydomain.com RM=/bin/rm DATE=/bin/date AWK=/usr/bin/awk LS=/bin/ls GREP=/usr/bin/grep FIND=/usr/bin/find TODAY=`$DATE +%m-%d-%Y` REPORT_LOG_HEADER=/usr/local/etc/report_log_header REPORT_LOG_FOOTER=/usr/local/etc/report_log_footer # start the mailfile with the proper header, # in this case it is an HTML header cat $REPORT_LOG_HEADER > $MAILFILE #put more stuff into the report . . . echo " " >> $MAILFILE echo " " >> $MAILFILE # Add any processing or log files to the middle of the mail file here # you can even put HTML codes in here echo "<BR> <BR>" >> $MAILFILE echo " " >> $MAILFILE # add the correct HTML footer cat $REPORT_LOG_FOOTER >> $MAILFILE # send it to yourself $MAIL -s "the report name" $MAILTO < $MAILFILE $RM $MAILFILE -Derek -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.0.0.22.2.20070714155424.0242a958>