The rationale is simple---the material conditional has the truth table it does in order to provide a truth-functional logical connective that would let us represent the modus ponens and modus tollens inferences from natural language.
More formally:
(1) If there is a truth-functional logical connective -> to represent modus ponens and modus tollens, then that connective has the truth table the material conditional does.
(2) There is a truth-functional logical connective -> to represent modus ponens and modus tollens.
(3) Therefore, the logical connective -> has the truth table the material conditional does.
Subargument for (1)
The crucial premise here is (1). To see why it's true, think back to the definition of "truth-functionality". We say a connective is truth-functional if and only if the truth value of the molecular sentence composed of the connective and the atomic sentences it connects is a function of the truth values of the atomic sentences. Since the material conditional is a binary connective, it takes two atomic sentences as inputs, each of which can have two possible truth values (T or F), so we get four possible combinations of inputs. The crucially important thing about the truth-functionality of the connectives is that the whole molecular sentence must a truth value if the atomic sentences have truth values, which they do. This means that we have to fill out each row of the truth table below.
A B A->B
T T T
T F F
F T T
F F T
Rows 1 and 2 look obviously correct, since they match our intuitive, natural language reasoning use of "if . . . then". We intuitively know Modus ponens and modus pollens are valid inference rules, and that's what is represented in lines 1 and 2 here.
Rows 3 and 4 require more comments.
Since we want a truth functional logic, we have to fill in something for the truth value of "A->B" on these lines, and we have only two choices (T or F).
So, let's see what happens if we fill in F for line 3. (i.e. let's assume A is false, B is true, and A->B is false.) Then the following argument would be valid (i.e. the argument would have the property that the truth of its premises would guarantee the truth of its conclusion), but intuitively the argument is not valid.
(I) ~(A->B)
(II) ~A
(III) B
(I*) It is not the case that (if it is raining, the street is getting wet).
(II*) It is not the case that it is raining.
(III*) Therefore, the street is getting wet.
Suppose (I*) is true because somebody's put a tarp over the street to keep the rain off. How would the fact that there's a tarp down and the fact that it isn't raining entail that the street is getting wet?! This argument would be valid if A->B is true on line 3 of the truth table, but obviously this argument isn't valid; therefore we must hold A->B to be true on line 3 of the truth table.
We'll do the same procedure to show what the truth value of A->B should be for line 4 of the truth table. Let's start by assuming that A->B is F, A is F and B is F. Then we can also construct an argument that would also be "valid" like so:
(IV) ~(A->B)
(V) ~B
(VI) ~A.
(IV*) It is not the case that (if it is raining, the street is getting wet).
(V*) It is not the case that the street is getting wet.
(VI*) Therefore, it is not the case that it is raining.
Again, assume that (IV*) is true because somebody's spread a tarp over the street. Now how would that fact, plus the observation that the street is not in fact getting wet in (V*), entitle us to conclude it wasn't raining (VI*)?! Obviously it couldn't. But if A->B were false on line 4 of the truth table, we could validly infer that. Therefore, A->B must be true on line 4 of the truth table.
Subargument for (2)
The subargument for (2) is easy. It is necessary that there be such a connective, because what we're trying to do in logic is represent certain basic forms of inference that we intuitively know are valid (modus ponens and modus pollens) and we're trying to create a mathematical structure that will let us build up a systematic, scientific logical theory from these intuitive foundations. Thus, we have to have a truth-functional connective to represent the conditional since we use such conditions in natural language reasoning all the time and the only way to make such a connective truth functional, as we've just seen, is for it to have the same truth table as the material conditional.
Conclusion (3)
Hence, (3) follows by modus ponens.