Curt Schilling of Boston (did you know he was on Boston, just wanted everyone to be on the same page here) tied an American League record by surrendering 10 extra base hits in a game as the Red Sox lost to Kansas City, 5-4. Schilling gave up nine doubles, three of them to Reggie Sanders, and one home run, to Emil Brown.
The last pitcher in the AL to give up 10 extra base hits in a game was Luis Tiant for Cleveland at Fenway Park against Boston on April 18, 1969. In that game, Tiant gave up six doubles and four home runs.
Dale Gear of Washington also gave up 10 extra base hits in a game in 1901, although I don't readily have the date. If you click on Gear's career record, you can see that he didn't really have a fixed position.
And if you want to go way back for the all-time record, George Derby of Buffalo gave up 16 extra base hits in a game in 1883. The Chicago Tribune box score of the game, which took place on July 3, 1883 (Chicago beating Buffalo 31-7) shows Chicago with 14 doubles and two triples in that game. Abner Dalrymple and Cap Anson each had four doubles.
One of Derby's teammates in 1883 was named Tony Suck. The man actually changed his last name to Suck from Zuck. That probably wouldn't happen today.
Derby never pitched in the majors again.
Update - SABR member Trent McCotter believes that Washington's Earl Whitehill gave up 11 extra base hits (10 doubles and a homer) to the Tigers in a game on July 10, 1935.