You are using the MIME-type "multipart/alternative" which is used (as per RFC 2046) "for representing the same data in multiple formats". In other words your MIME compliant email reader dutyfully shows you the HTML content (as that is the most "rich" content) and hides the alternative text component.
Did you try "multipart/mixed"?
CountZero
A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James
My blog:
Imperial Deltronics