When you use base64_encode(), and you view sorce, is it outputting correctly? If so, try changing user_recipients to “false”, and instead of using “to” for your select field name, change it to “recipients”.
This is my contact form code…ignore the {exp:encode_email} tags, as that was just a plugin I wrote to use base64_encode() for the email address…I also have custom query to list my staff, which you could ignore (or use, whichever).
{exp:email:contact_form user_recipients="false" charset="utf-8"}
<input type="hidden" name="subject" value="Contact Form Sumission" />
<p class="form"><input type="text" name="name" id="name" /> <label for="name">Your Name</label></p>
<p class="form"><input type="text" name="from" id="from" /> <label for="from">Your Email</label></p>
<p class="form">
<select name="recipients" id="recipients">
<option value="{exp:encode_email}sales@foo.com{/exp:encode_email}">Sales</option>
<option value="{exp:encode_email}support@foo.com{/exp:encode_email}">Support</option>
<option value=""></option>
{exp:query sql="SELECT member_id, username, screen_name, email FROM exp_members WHERE group_id='1' OR group_id='6' OR group_id='7' OR group_id='8' ORDER BY screen_name ASC"}
{exp:member:custom_profile_data member_id="{member_id}"}{if member_onhold == "No"}
{if segment_2 == username}<option value="{exp:encode_email}{email}{/exp:encode_email}" selected="selected">{screen_name}</option>
{if:else}<option value="{exp:encode_email}{email}{/exp:encode_email}">{screen_name}</option>{/if}
{/if}{/exp:member:custom_profile_data}
{/exp:query}
</select>
<label for="recipients">Recipient</label>
</p>
<p class="form"><textarea name="message" id="message" rows="5" cols="50"></textarea></p>
<p class="form"><input type="submit" id="submit" name="submit" value="Send Email" /></p>
{/exp:email:contact_form}