I am experiencing the same problem.
In my callback sevlet
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(Setup.CONSUMER_KEY);
builder.setOAuthConsumerSecret(Setup.CONSUMER_SECRET);
builder.setOAuthAccessToken(accessToken.getToken());
builder.setOAuthAccessTokenSecret(accessToken.getTokenSecret());
builder.setIncludeEmailEnabled(true);
User u = twitter.verifyCredentials();
System.out.println(u.toString());
Results printed in the console
UserJSONImpl{id=218997731, name='Teddy Madile', email='null', screenName='Mad_Ted', location='Gaborone, Botswana', description='Thats for you to find out', isContributorsEnabled=false, profileImageUrl='http://pbs.twimg.com/profile_images/808248163362603008/l5klf1wW_normal.jpg', profileImageUrlHttps='https://pbs.twimg.com/profile_images/808248163362603008/l5klf1wW_normal.jpg', isDefaultProfileImage=false, url='https://t.co/yggDunCZg7', isProtected=false, followersCount=40, status=StatusJSONImpl{createdAt=Mon Dec 12 12:00:17 CAT 2016, id=808250109293195264, text='https://t.co/MTXjLLLEcJ', source='<a href="http://twitter.com" rel="nofollow">Twitter Web Client</a>', isTruncated=false, inReplyToStatusId=-1, inReplyToUserId=-1, isFavorited=false, isRetweeted=false, favoriteCount=0, inReplyToScreenName='null', geoLocation=null, place=PlaceJSONImpl{name='Botswana', streetAddress='null', countryCode='BW', id='8a927a7056322151', country='Botswana', placeType='country', url='https://api.twitter.com/1.1/geo/id/8a927a7056322151.json', fullName='Botswana', boundingBoxType='Polygon', boundingBoxCoordinates=[[Ltwitter4j.GeoLocation;@457580f9], geometryType='null', geometryCoordinates=null, containedWithIn=[]}, retweetCount=0, isPossiblySensitive=false, lang='und', contributorsIDs=[], retweetedStatus=null, userMentionEntities=[], urlEntities=[], hashtagEntities=[], mediaEntities=[MediaEntityJSONImpl{id=808250035175616512, url='https://t.co/MTXjLLLEcJ', mediaURL='http://pbs.twimg.com/media/Czd7H-xW8AA1r4V.jpg', mediaURLHttps='https://pbs.twimg.com/media/Czd7H-xW8AA1r4V.jpg', expandedURL='https://twitter.com/Mad_Ted/status/808250109293195264/photo/1', displayURL='pic.twitter.com/MTXjLLLEcJ', sizes={0=Size{width=150, height=150, resize=101}, 1=Size{width=680, height=636, resize=100}, 2=Size{width=900, height=842, resize=100}, 3=Size{width=900, height=842, resize=100}}, type='photo', videoAspectRatioWidth=0, videoAspectRatioHeight=0, videoDurationMillis=0, videoVariants=0, extAltText='null'}], symbolEntities=[], currentUserRetweetId=-1, user=null, withHeldInCountries=null, quotedStatusId=-1, quotedStatus=null}, profileBackgroundColor='C0DEED', profileTextColor='333333', profileLinkColor='0084B4', profileSidebarFillColor='DDEEF6', profileSidebarBorderColor='C0DEED', profileUseBackgroundImage=true, isDefaultProfile=false, showAllInlineMedia=false, friendsCount=27, createdAt=Tue Nov 23 19:24:23 CAT 2010, favouritesCount=1, utcOffset=-1, timeZone='null', profileBackgroundImageUrl='http://pbs.twimg.com/profile_background_images/615346876/721074xmtze80ilmc9se.jpeg', profileBackgroundImageUrlHttps='https://pbs.twimg.com/profile_background_images/615346876/721074xmtze80ilmc9se.jpeg', profileBackgroundTiled=true, lang='en', statusesCount=51, isGeoEnabled=true, isVerified=false, translator=false, listedCount=0, isFollowRequestSent=false, withheldInCountries=null}
I am using the Twitter4j Core 4.0.6 library.
I have searched various forums, and people reported that it has worked for them.
The email field still returns null.