code: def notify_ar_retract(self, sample):
          
          retest = sample.getRetest()
          if not retest:
              logger.warn("No retest found for {}. And it should!"
                          .format(api.get_id(sample)))
              return
  
          # Email fields
          sample_id = api.get_id(sample)
          subject = t(_("Erroneous result publication from {}").format(sample_id))
          emails_lab = self.get_lab_managers_formatted_emails()
          emails_sample = self.get_sample_contacts_formatted_emails(sample)
          recipients = list(set(emails_lab + emails_sample))
  
          msg = MIMEMultipart("related")
          msg["Subject"] = subject
          msg["From"] = self.get_laboratory_formatted_email()
          msg["To"] = ", ".join(recipients)
          body = self.get_email_body(sample)
          msg_txt = MIMEText(safe_unicode(body).encode('utf-8'), _subtype='html')
          msg.preamble = 'This is a multi-part MIME message.'
          msg.attach(msg_txt)
  
          # Send the email
          try:
              host = api.get_tool("MailHost")
              host.send(msg.as_string(), immediate=True)
          except Exception as err_msg:
              message = _("Unable to send an email to alert lab "
                          "client contacts that the Sample has been "
                          "retracted: ${error}",
                          mapping={'error': safe_unicode(err_msg)})
              self.context.plone_utils.addPortalMessage(message, 'warning')
docs: Sends an email notification to sample's client contact if the sample
          passed in has a retest associated