Which indexes do you have?
You don't need the doubling of select clauses.
And do not select all columns (*) - it will slow things additionally.
Along those lines:
SELECT mt.emailid, sd.datesent,MAX(sd.datesent),sd.cusid
FROM the_main_table mt
LEFT JOIN sentdata sd
ON mt.emailid=sd.emailid
AND campaign_id = 'send2'
AND bademail = 0
AND source IN ('source1','source2')
AND oksend = 0
GROUP BY mt.emailid
HAVING MAX(sd.datesent) = sd.datesent
ORDER BY MAX(sd.datesent) ASC
LIMIT 50000