void ExtractEmail(const nsCOMArray<msgIAddressObject> &aHeader,
                  nsACString &email) {
  AutoTArray<nsString, 1> names;
  AutoTArray<nsString, 1> emails;
  ExtractAllAddresses(aHeader, names, emails);

  if (emails.Length() > 0)
    CopyUTF16toUTF8(emails[0], email);
  else
    email.Truncate();
}
void ExtractFirstAddress(const nsCOMArray<msgIAddressObject> &aHeader,
                         nsAString &name, nsACString &email) {
  AutoTArray<nsString, 1> names, emails;
  ExtractAllAddresses(aHeader, names, emails);
  if (names.Length() > 0) {
    name = names[0];
    CopyUTF16toUTF8(emails[0], email);
  } else {
    name.Truncate();
    email.Truncate();
  }
}
void ExtractName(const nsCOMArray<msgIAddressObject> &aHeader,
                 nsAString &name) {
  AutoTArray<nsString, 1> names;
  AutoTArray<nsString, 1> emails;
  ExtractAllAddresses(aHeader, names, emails);
  if (names.Length() > 0) {
    if (names[0].IsEmpty())
      name = emails[0];
    else
      name = names[0];
  } else {
    name.Truncate();
  }
}
void ExtractEmails(const nsCOMArray<msgIAddressObject> &aHeader,
                   nsTArray<nsString> &emails)
{
    nsTArray<nsString> names;
    ExtractAllAddresses(aHeader, names, emails);
}