The "sender" you're specifying in this case is the envelope sender that is passed onto the SMTP server.
What your MUA (Mail User Agent - i.e. outlook/Thunderbird etc.) shows you is the "From:" header.
Normally, if I'm using smtplib, I'd compile the headers separately:
headers = "From %s\nTo: %s\n\n" % (email_from, email_to)
The format of the From header is by convention normally "Name" <user@domain>
You should be including a "Message-Id" header and a "Reply-To" header as well in all communications. Especially since spam filters may pick up on the lack of these as a great probability that the mail is spam.
If you've got your mail body in the variable body, just compile the overall message with:
message = headers + body
Note the double newline at the end of the headers. It's also worth noting that SMTP servers should separate headers with newlines only (i.e. LF - linfeed). However, I have seen a Windows SMTP server or two that uses \r\n (i.e. CRLF). If you're on Windows, YMMV.