Абсолютно да.
Что касается SMTP, вы просто предоставляете ему соответствующие заголовки ( rfc822 устарел, но является хорошим началом), а затем тело сообщения, которое может быть любым.
Вы, вероятно, хотите создать тело сообщения, которое представляет собой сообщение в кодировке MIME с описанием текста электронного письма и любых вложений.
Вопрос, который вы должны задать:
Как создать сообщение электронной почты в кодировке MIME, которое я могу отправить по SMTP?
Кроме того, проблема создания почтовых сообщений и их отправки решалась много раз, и вам действительно следует подумать об использовании библиотеки, если вы вообще можете.