Do you want the variables posted to the other PHP page behind the scenes or do you only want it to happen when the user follows a link to the other page? And does it have to be a post or is get acceptable?
If the user is following a link to the second page and it must be a post, then make the link like this:
<form action="page2.php" method=post>
<input type=hidden name=x value="<? echo $x; ?>">
<input type=hidden name=y value="<? echo $z; ?>">
<input type=hidden name=z value="<? echo $z; ?>">
<input type=submit value="Continue">
</form>
Note that you can replace that submit button with an image or even text with Javascript if you don't like how the submit button looks and the variables will still go through as a post.
If the user is clicking a link and a get is acceptable, then you can do it as a hyperlink like this:
<a href="page2.php?x=<? echo $x; ?>&y=<? echo $y; ?>&z=<? echo $z; ?>">Click Here</a>
And if you're doing it behind the scenes, then you can just do an include and the functions in page2.php will be executed. This will pass the variables as variables, not a get or a post.
$x=1; $y=2; $z=3;
include("page2.php");
Lastly, if page2.php is on a different server and you want to do it behind the scenes, then you will need to use curl which will function as a post. (check out curl at php.net)
page2.php can use the mail(); function to send whatever email you want.