title: Indy send email with receivers having UTF-8 characters
body: <p>I'm trying to send an email with the <code>TIdSMTP</code> component in Indy 10 and the list of my receivers has Unicode characters in it (like <code>Роман Безяк &lt;roman_bezjak@yahoo.com&gt;</code>). But when the mail is sent, in the <code>To</code> header of the email I see this: <code>"?????????" &lt;roman_bezjak@yahoo.com&gt;</code>. Can anyone help me fix this encoding problem?</p>
  
  <p>This is how my procedure looks like :</p>
  
  <pre><code>procedure TMailClientForm.btnSendEmailClick(Sender: TObject);
  var
    mes : TIdMessage;
    i : Integer;
  begin
    with SMTPClient do begin
      Host := serverHost;
      Port := SmtpServerPort;
      Username := myUserName;
      Password := myPassword;
      UseTLS := utUseImplicitTLS;
    end;
    try 
      mes := tidmessage.Create(nil);
      try
        with mes do begin
          ContentType := 'text/plain';
          ClearBody;
          Body.Text := memoEmailBody.Text;
          Subject := txtEmailSubject.text;
          From.Address := SMTPClient.Username; 
          From.Name := myName; // cyrillic symbols!
          Recipients.Add.Address := myReceiver; // cyrillic symbols! like 'Роман Безяк &lt;roman_bezjak@yahoo.com&gt;'
          CharSet := 'utf-8';
        end;
        if fileNames.Count &gt; 0 then // attachments - the files are in the stringlist fileNames
          mes.ContentType := 'multipart/mixed';
        for i := 0 to fileNames.count - 1 do begin
          if FileExists(fileNames[i]) then
            TIdAttachmentFile.Create(mes.MessageParts, fileNames[i]);
        end;
        try
          try
            try
              SMTPClient.Connect;
            except
              on e : Exception do begin
                MessageDlg('ERROR=' + SMTPClient.LastCmdResult.Text.Text, mtError,   [mbOK], 0);
                Exit;
              end;
            end;
            try
              SMTPClient.Send(mes);            
            except
              on e : Exception do begin
                MessageDlg('ERROR=' + SMTPClient.LastCmdResult.Text.Text, mtError, [mbOK], 0);
                Exit;
              end;
            end;
          finally
            if SMTPClient.Connected then
              SMTPClient.Disconnect;
          end;
          fileNames.clear;
        except
          on e:exception do begin
            MessageDlg(e.message, mtError, [mbOK], 0);
          end;
        end;
      finally
        mes.Free;
      end;
    except
      on e:exception do begin
        MessageDlg(e.message, mtError, [mbOK], 0);
      end;
    end;
  end;
  </code></pre>