<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def generate_mail(self):
 """Generate the email as MIMEText """


        # Script info
        msg = "Script info : \r\n"
        msg = msg + "%-9s: %s" % ('Script', SOURCEDIR) + "\r\n"
        msg = msg + "%-9s: %s" % ('User', USER) + "\r\n"
        msg = msg + "%-9s: %s" % ('Host', HOST) + "\r\n"
        msg = msg + "%-9s: %s" % ('PID', PID) + "\r\n"

        # Current trace
        msg = msg + "\r\nCurrent trace : \r\n"
        for record in self.current_buffer:
            msg = msg + record + "\r\n"

        # Now add stack trace
        msg = msg + "\r\nFull trace : \r\n"
        for record in self.complete_buffer:
            msg = msg + record + "\r\n"

        # Dump ENV
        msg = msg + "\r\nEnvironment:" + "\r\n"
        environ = OrderedDict(sorted(os.environ.items()))
        for name, value in environ.items():
            msg = msg + "%-10s = %s\r\n" % (name, value)

        if USE_MIME:
            real_msg = MIMEText(msg, _charset='utf-8')

            real_msg['Subject'] = self.get_subject()
            real_msg['To'] = ','.join(self.toaddrs)
            real_msg['From'] = self.fromaddr

        else:
            real_msg = EmailMessage()

            real_msg['Subject'] = self.get_subject()
            real_msg['To'] = ','.join(self.toaddrs)
            real_msg['From'] = self.fromaddr

            real_msg.set_content(msg)

        return real_msg